<!DOCTYPE html>

<html lang="en">
<head><meta charset="utf-8"/>
<meta content="width=device-width, initial-scale=1.0" name="viewport"/>
<title>2_3_Speech_US_Germany_Appendix_NMF</title><script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<style type="text/css">
    pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: var(--jp-cell-editor-active-background) }
.highlight { background: var(--jp-cell-editor-background); color: var(--jp-mirror-editor-variable-color) }
.highlight .c { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment */
.highlight .err { color: var(--jp-mirror-editor-error-color) } /* Error */
.highlight .k { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword */
.highlight .o { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator */
.highlight .p { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation */
.highlight .ch { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Multiline */
.highlight .cp { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Preproc */
.highlight .cpf { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Single */
.highlight .cs { color: var(--jp-mirror-editor-comment-color); font-style: italic } /* Comment.Special */
.highlight .kc { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: var(--jp-mirror-editor-keyword-color); font-weight: bold } /* Keyword.Type */
.highlight .m { color: var(--jp-mirror-editor-number-color) } /* Literal.Number */
.highlight .s { color: var(--jp-mirror-editor-string-color) } /* Literal.String */
.highlight .ow { color: var(--jp-mirror-editor-operator-color); font-weight: bold } /* Operator.Word */
.highlight .pm { color: var(--jp-mirror-editor-punctuation-color) } /* Punctuation.Marker */
.highlight .w { color: var(--jp-mirror-editor-variable-color) } /* Text.Whitespace */
.highlight .mb { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Bin */
.highlight .mf { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Float */
.highlight .mh { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Hex */
.highlight .mi { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer */
.highlight .mo { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Oct */
.highlight .sa { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Affix */
.highlight .sb { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Backtick */
.highlight .sc { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Char */
.highlight .dl { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Delimiter */
.highlight .sd { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Doc */
.highlight .s2 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Double */
.highlight .se { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Escape */
.highlight .sh { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Heredoc */
.highlight .si { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Interpol */
.highlight .sx { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Other */
.highlight .sr { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Regex */
.highlight .s1 { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Single */
.highlight .ss { color: var(--jp-mirror-editor-string-color) } /* Literal.String.Symbol */
.highlight .il { color: var(--jp-mirror-editor-number-color) } /* Literal.Number.Integer.Long */
  </style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
 * Mozilla scrollbar styling
 */

/* use standard opaque scrollbars for most nodes */
[data-jp-theme-scrollbars='true'] {
  scrollbar-color: rgb(var(--jp-scrollbar-thumb-color))
    var(--jp-scrollbar-background-color);
}

/* for code nodes, use a transparent style of scrollbar. These selectors
 * will match lower in the tree, and so will override the above */
[data-jp-theme-scrollbars='true'] .CodeMirror-hscrollbar,
[data-jp-theme-scrollbars='true'] .CodeMirror-vscrollbar {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
}

/* tiny scrollbar */

.jp-scrollbar-tiny {
  scrollbar-color: rgba(var(--jp-scrollbar-thumb-color), 0.5) transparent;
  scrollbar-width: thin;
}

/* tiny scrollbar */

.jp-scrollbar-tiny::-webkit-scrollbar,
.jp-scrollbar-tiny::-webkit-scrollbar-corner {
  background-color: transparent;
  height: 4px;
  width: 4px;
}

.jp-scrollbar-tiny::-webkit-scrollbar-thumb {
  background: rgba(var(--jp-scrollbar-thumb-color), 0.5);
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:horizontal {
  border-left: 0 solid transparent;
  border-right: 0 solid transparent;
}

.jp-scrollbar-tiny::-webkit-scrollbar-track:vertical {
  border-top: 0 solid transparent;
  border-bottom: 0 solid transparent;
}

/*
 * Lumino
 */

.lm-ScrollBar[data-orientation='horizontal'] {
  min-height: 16px;
  max-height: 16px;
  min-width: 45px;
  border-top: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] {
  min-width: 16px;
  max-width: 16px;
  min-height: 45px;
  border-left: 1px solid #a0a0a0;
}

.lm-ScrollBar-button {
  background-color: #f0f0f0;
  background-position: center center;
  min-height: 15px;
  max-height: 15px;
  min-width: 15px;
  max-width: 15px;
}

.lm-ScrollBar-button:hover {
  background-color: #dadada;
}

.lm-ScrollBar-button.lm-mod-active {
  background-color: #cdcdcd;
}

.lm-ScrollBar-track {
  background: #f0f0f0;
}

.lm-ScrollBar-thumb {
  background: #cdcdcd;
}

.lm-ScrollBar-thumb:hover {
  background: #bababa;
}

.lm-ScrollBar-thumb.lm-mod-active {
  background: #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal'] .lm-ScrollBar-thumb {
  height: 100%;
  min-width: 15px;
  border-left: 1px solid #a0a0a0;
  border-right: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='vertical'] .lm-ScrollBar-thumb {
  width: 100%;
  min-height: 15px;
  border-top: 1px solid #a0a0a0;
  border-bottom: 1px solid #a0a0a0;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-left);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='horizontal']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-right);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='decrement'] {
  background-image: var(--jp-icon-caret-up);
  background-size: 17px;
}

.lm-ScrollBar[data-orientation='vertical']
  .lm-ScrollBar-button[data-action='increment'] {
  background-image: var(--jp-icon-caret-down);
  background-size: 17px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Widget {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
}

.lm-Widget.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.lm-AccordionPanel[data-orientation='horizontal'] > .lm-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  display: flex;
  flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-CommandPalette-search {
  flex: 0 0 auto;
}

.lm-CommandPalette-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  min-height: 0;
  overflow: auto;
  list-style-type: none;
}

.lm-CommandPalette-header {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-CommandPalette-item {
  display: flex;
  flex-direction: row;
}

.lm-CommandPalette-itemIcon {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemContent {
  flex: 1 1 auto;
  overflow: hidden;
}

.lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemLabel {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.lm-close-icon {
  border: 1px solid transparent;
  background-color: transparent;
  position: absolute;
  z-index: 1;
  right: 3%;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 7px 0;
  display: none;
  vertical-align: middle;
  outline: 0;
  cursor: pointer;
}
.lm-close-icon:after {
  content: 'X';
  display: block;
  width: 15px;
  height: 15px;
  text-align: center;
  color: #000;
  font-weight: normal;
  font-size: 12px;
  cursor: pointer;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-DockPanel {
  z-index: 0;
}

.lm-DockPanel-widget {
  z-index: 0;
}

.lm-DockPanel-tabBar {
  z-index: 1;
}

.lm-DockPanel-handle {
  z-index: 2;
}

.lm-DockPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-DockPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-DockPanel-handle[data-orientation='horizontal'] {
  cursor: ew-resize;
}

.lm-DockPanel-handle[data-orientation='vertical'] {
  cursor: ns-resize;
}

.lm-DockPanel-handle[data-orientation='horizontal']:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-DockPanel-handle[data-orientation='vertical']:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

.lm-DockPanel-overlay {
  z-index: 3;
  box-sizing: border-box;
  pointer-events: none;
}

.lm-DockPanel-overlay.lm-mod-hidden {
  display: none !important;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-Menu {
  z-index: 10000;
  position: absolute;
  white-space: nowrap;
  overflow-x: hidden;
  overflow-y: auto;
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-Menu-content {
  margin: 0;
  padding: 0;
  display: table;
  list-style-type: none;
}

.lm-Menu-item {
  display: table-row;
}

.lm-Menu-item.lm-mod-hidden,
.lm-Menu-item.lm-mod-collapsed {
  display: none !important;
}

.lm-Menu-itemIcon,
.lm-Menu-itemSubmenuIcon {
  display: table-cell;
  text-align: center;
}

.lm-Menu-itemLabel {
  display: table-cell;
  text-align: left;
}

.lm-Menu-itemShortcut {
  display: table-cell;
  text-align: right;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-MenuBar {
  outline: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-MenuBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: row;
  list-style-type: none;
}

.lm-MenuBar-item {
  box-sizing: border-box;
}

.lm-MenuBar-itemIcon,
.lm-MenuBar-itemLabel {
  display: inline-block;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-ScrollBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-ScrollBar[data-orientation='horizontal'] {
  flex-direction: row;
}

.lm-ScrollBar[data-orientation='vertical'] {
  flex-direction: column;
}

.lm-ScrollBar-button {
  box-sizing: border-box;
  flex: 0 0 auto;
}

.lm-ScrollBar-track {
  box-sizing: border-box;
  position: relative;
  overflow: hidden;
  flex: 1 1 auto;
}

.lm-ScrollBar-thumb {
  box-sizing: border-box;
  position: absolute;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-SplitPanel-child {
  z-index: 0;
}

.lm-SplitPanel-handle {
  z-index: 1;
}

.lm-SplitPanel-handle.lm-mod-hidden {
  display: none !important;
}

.lm-SplitPanel-handle:after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: '';
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle {
  cursor: ew-resize;
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle {
  cursor: ns-resize;
}

.lm-SplitPanel[data-orientation='horizontal'] > .lm-SplitPanel-handle:after {
  left: 50%;
  min-width: 8px;
  transform: translateX(-50%);
}

.lm-SplitPanel[data-orientation='vertical'] > .lm-SplitPanel-handle:after {
  top: 50%;
  min-height: 8px;
  transform: translateY(-50%);
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabBar {
  display: flex;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.lm-TabBar[data-orientation='horizontal'] {
  flex-direction: row;
  align-items: flex-end;
}

.lm-TabBar[data-orientation='vertical'] {
  flex-direction: column;
  align-items: flex-end;
}

.lm-TabBar-content {
  margin: 0;
  padding: 0;
  display: flex;
  flex: 1 1 auto;
  list-style-type: none;
}

.lm-TabBar[data-orientation='horizontal'] > .lm-TabBar-content {
  flex-direction: row;
}

.lm-TabBar[data-orientation='vertical'] > .lm-TabBar-content {
  flex-direction: column;
}

.lm-TabBar-tab {
  display: flex;
  flex-direction: row;
  box-sizing: border-box;
  overflow: hidden;
  touch-action: none; /* Disable native Drag/Drop */
}

.lm-TabBar-tabIcon,
.lm-TabBar-tabCloseIcon {
  flex: 0 0 auto;
}

.lm-TabBar-tabLabel {
  flex: 1 1 auto;
  overflow: hidden;
  white-space: nowrap;
}

.lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
}

.lm-TabBar-tab.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar-addButton.lm-mod-hidden {
  display: none !important;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab {
  position: relative;
}

.lm-TabBar.lm-mod-dragging[data-orientation='horizontal'] .lm-TabBar-tab {
  left: 0;
  transition: left 150ms ease;
}

.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab {
  top: 0;
  transition: top 150ms ease;
}

.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging {
  transition: none;
}

.lm-TabBar-tabLabel .lm-TabBar-tabInput {
  user-select: all;
  width: 100%;
  box-sizing: border-box;
  background: inherit;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-TabPanel-tabBar {
  z-index: 1;
}

.lm-TabPanel-stackedPanel {
  z-index: 0;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.jp-Collapse-header {
  padding: 1px 12px;
  background-color: var(--jp-layout-color1);
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  align-items: center;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  text-transform: uppercase;
  user-select: none;
}

.jp-Collapser-icon {
  height: 16px;
}

.jp-Collapse-header-collapsed .jp-Collapser-icon {
  transform: rotate(-90deg);
  margin: auto 0;
}

.jp-Collapser-title {
  line-height: 25px;
}

.jp-Collapse-contents {
  padding: 0 12px;
  background-color: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* This file was auto-generated by ensureUiComponents() in @jupyterlab/buildutils */

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

/* Icons urls */

:root {
  --jp-icon-add-above: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5MikiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik00Ljc1IDQuOTMwNjZINi42MjVWNi44MDU2NkM2LjYyNSA3LjAxMTkxIDYuNzkzNzUgNy4xODA2NiA3IDcuMTgwNjZDNy4yMDYyNSA3LjE4MDY2IDcuMzc1IDcuMDExOTEgNy4zNzUgNi44MDU2NlY0LjkzMDY2SDkuMjVDOS40NTYyNSA0LjkzMDY2IDkuNjI1IDQuNzYxOTEgOS42MjUgNC41NTU2NkM5LjYyNSA0LjM0OTQxIDkuNDU2MjUgNC4xODA2NiA5LjI1IDQuMTgwNjZINy4zNzVWMi4zMDU2NkM3LjM3NSAyLjA5OTQxIDcuMjA2MjUgMS45MzA2NiA3IDEuOTMwNjZDNi43OTM3NSAxLjkzMDY2IDYuNjI1IDIuMDk5NDEgNi42MjUgMi4zMDU2NlY0LjE4MDY2SDQuNzVDNC41NDM3NSA0LjE4MDY2IDQuMzc1IDQuMzQ5NDEgNC4zNzUgNC41NTU2NkM0LjM3NSA0Ljc2MTkxIDQuNTQzNzUgNC45MzA2NiA0Ljc1IDQuOTMwNjZaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC43Ii8+CjwvZz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTExLjUgOS41VjExLjVMMi41IDExLjVWOS41TDExLjUgOS41Wk0xMiA4QzEyLjU1MjMgOCAxMyA4LjQ0NzcyIDEzIDlWMTJDMTMgMTIuNTUyMyAxMi41NTIzIDEzIDEyIDEzTDIgMTNDMS40NDc3MiAxMyAxIDEyLjU1MjMgMSAxMlY5QzEgOC40NDc3MiAxLjQ0NzcxIDggMiA4TDEyIDhaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5MiI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KC0xIDAgMCAxIDEwIDEuNTU1NjYpIi8+CjwvY2xpcFBhdGg+CjwvZGVmcz4KPC9zdmc+Cg==);
  --jp-icon-add-below: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzEzN18xOTQ5OCkiPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGQ9Ik05LjI1IDEwLjA2OTNMNy4zNzUgMTAuMDY5M0w3LjM3NSA4LjE5NDM0QzcuMzc1IDcuOTg4MDkgNy4yMDYyNSA3LjgxOTM0IDcgNy44MTkzNEM2Ljc5Mzc1IDcuODE5MzQgNi42MjUgNy45ODgwOSA2LjYyNSA4LjE5NDM0TDYuNjI1IDEwLjA2OTNMNC43NSAxMC4wNjkzQzQuNTQzNzUgMTAuMDY5MyA0LjM3NSAxMC4yMzgxIDQuMzc1IDEwLjQ0NDNDNC4zNzUgMTAuNjUwNiA0LjU0Mzc1IDEwLjgxOTMgNC43NSAxMC44MTkzTDYuNjI1IDEwLjgxOTNMNi42MjUgMTIuNjk0M0M2LjYyNSAxMi45MDA2IDYuNzkzNzUgMTMuMDY5MyA3IDEzLjA2OTNDNy4yMDYyNSAxMy4wNjkzIDcuMzc1IDEyLjkwMDYgNy4zNzUgMTIuNjk0M0w3LjM3NSAxMC44MTkzTDkuMjUgMTAuODE5M0M5LjQ1NjI1IDEwLjgxOTMgOS42MjUgMTAuNjUwNiA5LjYyNSAxMC40NDQzQzkuNjI1IDEwLjIzODEgOS40NTYyNSAxMC4wNjkzIDkuMjUgMTAuMDY5M1oiIGZpbGw9IiM2MTYxNjEiIHN0cm9rZT0iIzYxNjE2MSIgc3Ryb2tlLXdpZHRoPSIwLjciLz4KPC9nPgo8cGF0aCBjbGFzcz0ianAtaWNvbjMiIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMi41IDUuNUwyLjUgMy41TDExLjUgMy41TDExLjUgNS41TDIuNSA1LjVaTTIgN0MxLjQ0NzcyIDcgMSA2LjU1MjI4IDEgNkwxIDNDMSAyLjQ0NzcyIDEuNDQ3NzIgMiAyIDJMMTIgMkMxMi41NTIzIDIgMTMgMi40NDc3MiAxMyAzTDEzIDZDMTMgNi41NTIyOSAxMi41NTIzIDcgMTIgN0wyIDdaIiBmaWxsPSIjNjE2MTYxIi8+CjxkZWZzPgo8Y2xpcFBhdGggaWQ9ImNsaXAwXzEzN18xOTQ5OCI+CjxyZWN0IGNsYXNzPSJqcC1pY29uMyIgd2lkdGg9IjYiIGhlaWdodD0iNiIgZmlsbD0id2hpdGUiIHRyYW5zZm9ybT0ibWF0cml4KDEgMS43NDg0NmUtMDcgMS43NDg0NmUtMDcgLTEgNCAxMy40NDQzKSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=);
  --jp-icon-add: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDEzaC02djZoLTJ2LTZINXYtMmg2VjVoMnY2aDZ2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-bell: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE2IDE2IiB2ZXJzaW9uPSIxLjEiPgogICA8cGF0aCBjbGFzcz0ianAtaWNvbjIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzMzMzMzIgogICAgICBkPSJtOCAwLjI5Yy0xLjQgMC0yLjcgMC43My0zLjYgMS44LTEuMiAxLjUtMS40IDMuNC0xLjUgNS4yLTAuMTggMi4yLTAuNDQgNC0yLjMgNS4zbDAuMjggMS4zaDVjMC4wMjYgMC42NiAwLjMyIDEuMSAwLjcxIDEuNSAwLjg0IDAuNjEgMiAwLjYxIDIuOCAwIDAuNTItMC40IDAuNi0xIDAuNzEtMS41aDVsMC4yOC0xLjNjLTEuOS0wLjk3LTIuMi0zLjMtMi4zLTUuMy0wLjEzLTEuOC0wLjI2LTMuNy0xLjUtNS4yLTAuODUtMS0yLjItMS44LTMuNi0xLjh6bTAgMS40YzAuODggMCAxLjkgMC41NSAyLjUgMS4zIDAuODggMS4xIDEuMSAyLjcgMS4yIDQuNCAwLjEzIDEuNyAwLjIzIDMuNiAxLjMgNS4yaC0xMGMxLjEtMS42IDEuMi0zLjQgMS4zLTUuMiAwLjEzLTEuNyAwLjMtMy4zIDEuMi00LjQgMC41OS0wLjcyIDEuNi0xLjMgMi41LTEuM3ptLTAuNzQgMTJoMS41Yy0wLjAwMTUgMC4yOCAwLjAxNSAwLjc5LTAuNzQgMC43OS0wLjczIDAuMDAxNi0wLjcyLTAuNTMtMC43NC0wLjc5eiIgLz4KPC9zdmc+Cg==);
  --jp-icon-bug-dot: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiPgogICAgICAgIDxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTcuMTkgOEgyMFYxMEgxNy45MUMxNy45NiAxMC4zMyAxOCAxMC42NiAxOCAxMVYxMkgyMFYxNEgxOC41SDE4VjE0LjAyNzVDMTUuNzUgMTQuMjc2MiAxNCAxNi4xODM3IDE0IDE4LjVDMTQgMTkuMjA4IDE0LjE2MzUgMTkuODc3OSAxNC40NTQ5IDIwLjQ3MzlDMTMuNzA2MyAyMC44MTE3IDEyLjg3NTcgMjEgMTIgMjFDOS43OCAyMSA3Ljg1IDE5Ljc5IDYuODEgMThINFYxNkg2LjA5QzYuMDQgMTUuNjcgNiAxNS4zNCA2IDE1VjE0SDRWMTJINlYxMUM2IDEwLjY2IDYuMDQgMTAuMzMgNi4wOSAxMEg0VjhINi44MUM3LjI2IDcuMjIgNy44OCA2LjU1IDguNjIgNi4wNEw3IDQuNDFMOC40MSAzTDEwLjU5IDUuMTdDMTEuMDQgNS4wNiAxMS41MSA1IDEyIDVDMTIuNDkgNSAxMi45NiA1LjA2IDEzLjQyIDUuMTdMMTUuNTkgM0wxNyA0LjQxTDE1LjM3IDYuMDRDMTYuMTIgNi41NSAxNi43NCA3LjIyIDE3LjE5IDhaTTEwIDE2SDE0VjE0SDEwVjE2Wk0xMCAxMkgxNFYxMEgxMFYxMloiIGZpbGw9IiM2MTYxNjEiLz4KICAgICAgICA8cGF0aCBkPSJNMjIgMTguNUMyMiAyMC40MzMgMjAuNDMzIDIyIDE4LjUgMjJDMTYuNTY3IDIyIDE1IDIwLjQzMyAxNSAxOC41QzE1IDE2LjU2NyAxNi41NjcgMTUgMTguNSAxNUMyMC40MzMgMTUgMjIgMTYuNTY3IDIyIDE4LjVaIiBmaWxsPSIjNjE2MTYxIi8+CiAgICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-bug: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yMCA4aC0yLjgxYy0uNDUtLjc4LTEuMDctMS40NS0xLjgyLTEuOTZMMTcgNC40MSAxNS41OSAzbC0yLjE3IDIuMTdDMTIuOTYgNS4wNiAxMi40OSA1IDEyIDVjLS40OSAwLS45Ni4wNi0xLjQxLjE3TDguNDEgMyA3IDQuNDFsMS42MiAxLjYzQzcuODggNi41NSA3LjI2IDcuMjIgNi44MSA4SDR2MmgyLjA5Yy0uMDUuMzMtLjA5LjY2LS4wOSAxdjFINHYyaDJ2MWMwIC4zNC4wNC42Ny4wOSAxSDR2MmgyLjgxYzEuMDQgMS43OSAyLjk3IDMgNS4xOSAzczQuMTUtMS4yMSA1LjE5LTNIMjB2LTJoLTIuMDljLjA1LS4zMy4wOS0uNjYuMDktMXYtMWgydi0yaC0ydi0xYzAtLjM0LS4wNC0uNjctLjA5LTFIMjBWOHptLTYgOGgtNHYtMmg0djJ6bTAtNGgtNHYtMmg0djJ6Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-build: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE0LjkgMTcuNDVDMTYuMjUgMTcuNDUgMTcuMzUgMTYuMzUgMTcuMzUgMTVDMTcuMzUgMTMuNjUgMTYuMjUgMTIuNTUgMTQuOSAxMi41NUMxMy41NCAxMi41NSAxMi40NSAxMy42NSAxMi40NSAxNUMxMi40NSAxNi4zNSAxMy41NCAxNy40NSAxNC45IDE3LjQ1Wk0yMC4xIDE1LjY4TDIxLjU4IDE2Ljg0QzIxLjcxIDE2Ljk1IDIxLjc1IDE3LjEzIDIxLjY2IDE3LjI5TDIwLjI2IDE5LjcxQzIwLjE3IDE5Ljg2IDIwIDE5LjkyIDE5LjgzIDE5Ljg2TDE4LjA5IDE5LjE2QzE3LjczIDE5LjQ0IDE3LjMzIDE5LjY3IDE2LjkxIDE5Ljg1TDE2LjY0IDIxLjdDMTYuNjIgMjEuODcgMTYuNDcgMjIgMTYuMyAyMkgxMy41QzEzLjMyIDIyIDEzLjE4IDIxLjg3IDEzLjE1IDIxLjdMMTIuODkgMTkuODVDMTIuNDYgMTkuNjcgMTIuMDcgMTkuNDQgMTEuNzEgMTkuMTZMOS45NjAwMiAxOS44NkM5LjgxMDAyIDE5LjkyIDkuNjIwMDIgMTkuODYgOS41NDAwMiAxOS43MUw4LjE0MDAyIDE3LjI5QzguMDUwMDIgMTcuMTMgOC4wOTAwMiAxNi45NSA4LjIyMDAyIDE2Ljg0TDkuNzAwMDIgMTUuNjhMOS42NTAwMSAxNUw5LjcwMDAyIDE0LjMxTDguMjIwMDIgMTMuMTZDOC4wOTAwMiAxMy4wNSA4LjA1MDAyIDEyLjg2IDguMTQwMDIgMTIuNzFMOS41NDAwMiAxMC4yOUM5LjYyMDAyIDEwLjEzIDkuODEwMDIgMTAuMDcgOS45NjAwMiAxMC4xM0wxMS43MSAxMC44NEMxMi4wNyAxMC41NiAxMi40NiAxMC4zMiAxMi44OSAxMC4xNUwxMy4xNSA4LjI4OTk4QzEzLjE4IDguMTI5OTggMTMuMzIgNy45OTk5OCAxMy41IDcuOTk5OThIMTYuM0MxNi40NyA3Ljk5OTk4IDE2LjYyIDguMTI5OTggMTYuNjQgOC4yODk5OEwxNi45MSAxMC4xNUMxNy4zMyAxMC4zMiAxNy43MyAxMC41NiAxOC4wOSAxMC44NEwxOS44MyAxMC4xM0MyMCAxMC4wNyAyMC4xNyAxMC4xMyAyMC4yNiAxMC4yOUwyMS42NiAxMi43MUMyMS43NSAxMi44NiAyMS43MSAxMy4wNSAyMS41OCAxMy4xNkwyMC4xIDE0LjMxTDIwLjE1IDE1TDIwLjEgMTUuNjhaIi8+CiAgICA8cGF0aCBkPSJNNy4zMjk2NiA3LjQ0NDU0QzguMDgzMSA3LjAwOTU0IDguMzM5MzIgNi4wNTMzMiA3LjkwNDMyIDUuMjk5ODhDNy40NjkzMiA0LjU0NjQzIDYuNTA4MSA0LjI4MTU2IDUuNzU0NjYgNC43MTY1NkM1LjM5MTc2IDQuOTI2MDggNS4xMjY5NSA1LjI3MTE4IDUuMDE4NDkgNS42NzU5NEM0LjkxMDA0IDYuMDgwNzEgNC45NjY4MiA2LjUxMTk4IDUuMTc2MzQgNi44NzQ4OEM1LjYxMTM0IDcuNjI4MzIgNi41NzYyMiA3Ljg3OTU0IDcuMzI5NjYgNy40NDQ1NFpNOS42NTcxOCA0Ljc5NTkzTDEwLjg2NzIgNC45NTE3OUMxMC45NjI4IDQuOTc3NDEgMTEuMDQwMiA1LjA3MTMzIDExLjAzODIgNS4xODc5M0wxMS4wMzg4IDYuOTg4OTNDMTEuMDQ1NSA3LjEwMDU0IDEwLjk2MTYgNy4xOTUxOCAxMC44NTUgNy4yMTA1NEw5LjY2MDAxIDcuMzgwODNMOS4yMzkxNSA4LjEzMTg4TDkuNjY5NjEgOS4yNTc0NUM5LjcwNzI5IDkuMzYyNzEgOS42NjkzNCA5LjQ3Njk5IDkuNTc0MDggOS41MzE5OUw4LjAxNTIzIDEwLjQzMkM3LjkxMTMxIDEwLjQ5MiA3Ljc5MzM3IDEwLjQ2NzcgNy43MjEwNSAxMC4zODI0TDYuOTg3NDggOS40MzE4OEw2LjEwOTMxIDkuNDMwODNMNS4zNDcwNCAxMC4zOTA1QzUuMjg5MDkgMTAuNDcwMiA1LjE3MzgzIDEwLjQ5MDUgNS4wNzE4NyAxMC40MzM5TDMuNTEyNDUgOS41MzI5M0MzLjQxMDQ5IDkuNDc2MzMgMy4zNzY0NyA5LjM1NzQxIDMuNDEwNzUgOS4yNTY3OUwzLjg2MzQ3IDguMTQwOTNMMy42MTc0OSA3Ljc3NDg4TDMuNDIzNDcgNy4zNzg4M0wyLjIzMDc1IDcuMjEyOTdDMi4xMjY0NyA3LjE5MjM1IDIuMDQwNDkgNy4xMDM0MiAyLjA0MjQ1IDYuOTg2ODJMMi4wNDE4NyA1LjE4NTgyQzIuMDQzODMgNS4wNjkyMiAyLjExOTA5IDQuOTc5NTggMi4yMTcwNCA0Ljk2OTIyTDMuNDIwNjUgNC43OTM5M0wzLjg2NzQ5IDQuMDI3ODhMMy40MTEwNSAyLjkxNzMxQzMuMzczMzcgMi44MTIwNCAzLjQxMTMxIDIuNjk3NzYgMy41MTUyMyAyLjYzNzc2TDUuMDc0MDggMS43Mzc3NkM1LjE2OTM0IDEuNjgyNzYgNS4yODcyOSAxLjcwNzA0IDUuMzU5NjEgMS43OTIzMUw2LjExOTE1IDIuNzI3ODhMNi45ODAwMSAyLjczODkzTDcuNzI0OTYgMS43ODkyMkM3Ljc5MTU2IDEuNzA0NTggNy45MTU0OCAxLjY3OTIyIDguMDA4NzkgMS43NDA4Mkw5LjU2ODIxIDIuNjQxODJDOS42NzAxNyAyLjY5ODQyIDkuNzEyODUgMi44MTIzNCA5LjY4NzIzIDIuOTA3OTdMOS4yMTcxOCA0LjAzMzgzTDkuNDYzMTYgNC4zOTk4OEw5LjY1NzE4IDQuNzk1OTNaIi8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-caret-down-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iOS45LDEzLjYgMy42LDcuNCA0LjQsNi42IDkuOSwxMi4yIDE1LjQsNi43IDE2LjEsNy40ICIvPgoJPC9nPgo8L3N2Zz4K);
  --jp-icon-caret-down-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNS45TDksOS43bDMuOC0zLjhsMS4yLDEuMmwtNC45LDVsLTQuOS01TDUuMiw1Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-caret-down: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik01LjIsNy41TDksMTEuMmwzLjgtMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-caret-left: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik0xMC44LDEyLjhMNy4xLDlsMy44LTMuOGwwLDcuNkgxMC44eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-caret-right: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KICAgIDxwYXRoIGQ9Ik03LjIsNS4yTDEwLjksOWwtMy44LDMuOFY1LjJINy4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-caret-up-empty-thin: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwb2x5Z29uIGNsYXNzPSJzdDEiIHBvaW50cz0iMTUuNCwxMy4zIDkuOSw3LjcgNC40LDEzLjIgMy42LDEyLjUgOS45LDYuMyAxNi4xLDEyLjYgIi8+Cgk8L2c+Cjwvc3ZnPgo=);
  --jp-icon-caret-up: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgoJCTxwYXRoIGQ9Ik01LjIsMTAuNUw5LDYuOGwzLjgsMy44SDUuMnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-case-sensitive: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWFjY2VudDIiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTcuNiw4aDAuOWwzLjUsOGgtMS4xTDEwLDE0SDZsLTAuOSwySDRMNy42LDh6IE04LDkuMUw2LjQsMTNoMy4yTDgsOS4xeiIvPgogICAgPHBhdGggZD0iTTE2LjYsOS44Yy0wLjIsMC4xLTAuNCwwLjEtMC43LDAuMWMtMC4yLDAtMC40LTAuMS0wLjYtMC4yYy0wLjEtMC4xLTAuMi0wLjQtMC4yLTAuNyBjLTAuMywwLjMtMC42LDAuNS0wLjksMC43Yy0wLjMsMC4xLTAuNywwLjItMS4xLDAuMmMtMC4zLDAtMC41LDAtMC43LTAuMWMtMC4yLTAuMS0wLjQtMC4yLTAuNi0wLjNjLTAuMi0wLjEtMC4zLTAuMy0wLjQtMC41IGMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjdjMC0wLjMsMC4xLTAuNiwwLjItMC44YzAuMS0wLjIsMC4zLTAuNCwwLjQtMC41QzEyLDcsMTIuMiw2LjksMTIuNSw2LjhjMC4yLTAuMSwwLjUtMC4xLDAuNy0wLjIgYzAuMy0wLjEsMC41LTAuMSwwLjctMC4xYzAuMiwwLDAuNC0wLjEsMC42LTAuMWMwLjIsMCwwLjMtMC4xLDAuNC0wLjJjMC4xLTAuMSwwLjItMC4yLDAuMi0wLjRjMC0xLTEuMS0xLTEuMy0xIGMtMC40LDAtMS40LDAtMS40LDEuMmgtMC45YzAtMC40LDAuMS0wLjcsMC4yLTFjMC4xLTAuMiwwLjMtMC40LDAuNS0wLjZjMC4yLTAuMiwwLjUtMC4zLDAuOC0wLjNDMTMuMyw0LDEzLjYsNCwxMy45LDQgYzAuMywwLDAuNSwwLDAuOCwwLjFjMC4zLDAsMC41LDAuMSwwLjcsMC4yYzAuMiwwLjEsMC40LDAuMywwLjUsMC41QzE2LDUsMTYsNS4yLDE2LDUuNnYyLjljMCwwLjIsMCwwLjQsMCwwLjUgYzAsMC4xLDAuMSwwLjIsMC4zLDAuMmMwLjEsMCwwLjIsMCwwLjMsMFY5Ljh6IE0xNS4yLDYuOWMtMS4yLDAuNi0zLjEsMC4yLTMuMSwxLjRjMCwxLjQsMy4xLDEsMy4xLTAuNVY2Ljl6Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik05IDE2LjE3TDQuODMgMTJsLTEuNDIgMS40MUw5IDE5IDIxIDdsLTEuNDEtMS40MXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-circle-empty: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDJDNi40NyAyIDIgNi40NyAyIDEyczQuNDcgMTAgMTAgMTAgMTAtNC40NyAxMC0xMFMxNy41MyAyIDEyIDJ6bTAgMThjLTQuNDEgMC04LTMuNTktOC04czMuNTktOCA4LTggOCAzLjU5IDggOC0zLjU5IDgtOCA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-circle: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iOSIgY3k9IjkiIHI9IjgiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-clear: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8bWFzayBpZD0iZG9udXRIb2xlIj4KICAgIDxyZWN0IHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0id2hpdGUiIC8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSI4IiBmaWxsPSJibGFjayIvPgogIDwvbWFzaz4KCiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxyZWN0IGhlaWdodD0iMTgiIHdpZHRoPSIyIiB4PSIxMSIgeT0iMyIgdHJhbnNmb3JtPSJyb3RhdGUoMzE1LCAxMiwgMTIpIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgbWFzaz0idXJsKCNkb251dEhvbGUpIi8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-close: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1ub25lIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIGpwLWljb24zLWhvdmVyIiBmaWxsPSJub25lIj4KICAgIDxjaXJjbGUgY3g9IjEyIiBjeT0iMTIiIHI9IjExIi8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIGpwLWljb24tYWNjZW50Mi1ob3ZlciIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMTkgNi40MUwxNy41OSA1IDEyIDEwLjU5IDYuNDEgNSA1IDYuNDEgMTAuNTkgMTIgNSAxNy41OSA2LjQxIDE5IDEyIDEzLjQxIDE3LjU5IDE5IDE5IDE3LjU5IDEzLjQxIDEyeiIvPgogIDwvZz4KCiAgPGcgY2xhc3M9ImpwLWljb24tbm9uZSBqcC1pY29uLWJ1c3kiIGZpbGw9Im5vbmUiPgogICAgPGNpcmNsZSBjeD0iMTIiIGN5PSIxMiIgcj0iNyIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-code-check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICA8cGF0aCBkPSJNNi41OSwzLjQxTDIsOEw2LjU5LDEyLjZMOCwxMS4xOEw0LjgyLDhMOCw0LjgyTDYuNTksMy40MU0xMi40MSwzLjQxTDExLDQuODJMMTQuMTgsOEwxMSwxMS4xOEwxMi40MSwxMi42TDE3LDhMMTIuNDEsMy40MU0yMS41OSwxMS41OUwxMy41LDE5LjY4TDkuODMsMTZMOC40MiwxNy40MUwxMy41LDIyLjVMMjMsMTNMMjEuNTksMTEuNTlaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-code: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTExLjQgMTguNkw2LjggMTRMMTEuNCA5LjRMMTAgOEw0IDE0TDEwIDIwTDExLjQgMTguNlpNMTYuNiAxOC42TDIxLjIgMTRMMTYuNiA5LjRMMTggOEwyNCAxNEwxOCAyMEwxNi42IDE4LjZWMTguNloiLz4KCTwvZz4KPC9zdmc+Cg==);
  --jp-icon-collapse-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNNiAxM3YyaDh2LTJ6IiAvPgogICAgPC9nPgo8L3N2Zz4K);
  --jp-icon-console: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwMCAyMDAiPgogIDxnIGNsYXNzPSJqcC1jb25zb2xlLWljb24tYmFja2dyb3VuZC1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMjg4RDEiPgogICAgPHBhdGggZD0iTTIwIDE5LjhoMTYwdjE1OS45SDIweiIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtY29uc29sZS1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIj4KICAgIDxwYXRoIGQ9Ik0xMDUgMTI3LjNoNDB2MTIuOGgtNDB6TTUxLjEgNzdMNzQgOTkuOWwtMjMuMyAyMy4zIDEwLjUgMTAuNSAyMy4zLTIzLjNMOTUgOTkuOSA4NC41IDg5LjQgNjEuNiA2Ni41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-copy: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTExLjksMUgzLjJDMi40LDEsMS43LDEuNywxLjcsMi41djEwLjJoMS41VjIuNWg4LjdWMXogTTE0LjEsMy45aC04Yy0wLjgsMC0xLjUsMC43LTEuNSwxLjV2MTAuMmMwLDAuOCwwLjcsMS41LDEuNSwxLjVoOCBjMC44LDAsMS41LTAuNywxLjUtMS41VjUuNEMxNS41LDQuNiwxNC45LDMuOSwxNC4xLDMuOXogTTE0LjEsMTUuNWgtOFY1LjRoOFYxNS41eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-copyright: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCI+CiAgPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0xMS44OCw5LjE0YzEuMjgsMC4wNiwxLjYxLDEuMTUsMS42MywxLjY2aDEuNzljLTAuMDgtMS45OC0xLjQ5LTMuMTktMy40NS0zLjE5QzkuNjQsNy42MSw4LDksOCwxMi4xNCBjMCwxLjk0LDAuOTMsNC4yNCwzLjg0LDQuMjRjMi4yMiwwLDMuNDEtMS42NSwzLjQ0LTIuOTVoLTEuNzljLTAuMDMsMC41OS0wLjQ1LDEuMzgtMS42MywxLjQ0QzEwLjU1LDE0LjgzLDEwLDEzLjgxLDEwLDEyLjE0IEMxMCw5LjI1LDExLjI4LDkuMTYsMTEuODgsOS4xNHogTTEyLDJDNi40OCwyLDIsNi40OCwyLDEyczQuNDgsMTAsMTAsMTBzMTAtNC40OCwxMC0xMFMxNy41MiwyLDEyLDJ6IE0xMiwyMGMtNC40MSwwLTgtMy41OS04LTggczMuNTktOCw4LThzOCwzLjU5LDgsOFMxNi40MSwyMCwxMiwyMHoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-cut: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkuNjQgNy42NGMuMjMtLjUuMzYtMS4wNS4zNi0xLjY0IDAtMi4yMS0xLjc5LTQtNC00UzIgMy43OSAyIDZzMS43OSA0IDQgNGMuNTkgMCAxLjE0LS4xMyAxLjY0LS4zNkwxMCAxMmwtMi4zNiAyLjM2QzcuMTQgMTQuMTMgNi41OSAxNCA2IDE0Yy0yLjIxIDAtNCAxLjc5LTQgNHMxLjc5IDQgNCA0IDQtMS43OSA0LTRjMC0uNTktLjEzLTEuMTQtLjM2LTEuNjRMMTIgMTRsNyA3aDN2LTFMOS42NCA3LjY0ek02IDhjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTAgMTJjLTEuMSAwLTItLjg5LTItMnMuOS0yIDItMiAyIC44OSAyIDItLjkgMi0yIDJ6bTYtNy41Yy0uMjggMC0uNS0uMjItLjUtLjVzLjIyLS41LjUtLjUuNS4yMi41LjUtLjIyLjUtLjUuNXpNMTkgM2wtNiA2IDIgMiA3LTdWM3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-delete: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTZweCI+CiAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIiAvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjI2MjYyIiBkPSJNNiAxOWMwIDEuMS45IDIgMiAyaDhjMS4xIDAgMi0uOSAyLTJWN0g2djEyek0xOSA0aC0zLjVsLTEtMWgtNWwtMSAxSDV2MmgxNFY0eiIgLz4KPC9zdmc+Cg==);
  --jp-icon-download: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE5IDloLTRWM0g5djZINWw3IDcgNy03ek01IDE4djJoMTR2LTJINXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-duplicate: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTIuNzk5OTggMC44NzVIOC44OTU4MkM5LjIwMDYxIDAuODc1IDkuNDQ5OTggMS4xMzkxNCA5LjQ0OTk4IDEuNDYxOThDOS40NDk5OCAxLjc4NDgyIDkuMjAwNjEgMi4wNDg5NiA4Ljg5NTgyIDIuMDQ4OTZIMy4zNTQxNUMzLjA0OTM2IDIuMDQ4OTYgMi43OTk5OCAyLjMxMzEgMi43OTk5OCAyLjYzNTk0VjkuNjc5NjlDMi43OTk5OCAxMC4wMDI1IDIuNTUwNjEgMTAuMjY2NyAyLjI0NTgyIDEwLjI2NjdDMS45NDEwMyAxMC4yNjY3IDEuNjkxNjUgMTAuMDAyNSAxLjY5MTY1IDkuNjc5NjlWMi4wNDg5NkMxLjY5MTY1IDEuNDAzMjggMi4xOTA0IDAuODc1IDIuNzk5OTggMC44NzVaTTUuMzY2NjUgMTEuOVY0LjU1SDExLjA4MzNWMTEuOUg1LjM2NjY1Wk00LjE0MTY1IDQuMTQxNjdDNC4xNDE2NSAzLjY5MDYzIDQuNTA3MjggMy4zMjUgNC45NTgzMiAzLjMyNUgxMS40OTE3QzExLjk0MjcgMy4zMjUgMTIuMzA4MyAzLjY5MDYzIDEyLjMwODMgNC4xNDE2N1YxMi4zMDgzQzEyLjMwODMgMTIuNzU5NCAxMS45NDI3IDEzLjEyNSAxMS40OTE3IDEzLjEyNUg0Ljk1ODMyQzQuNTA3MjggMTMuMTI1IDQuMTQxNjUgMTIuNzU5NCA0LjE0MTY1IDEyLjMwODNWNC4xNDE2N1oiIGZpbGw9IiM2MTYxNjEiLz4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNOS40MzU3NCA4LjI2NTA3SDguMzY0MzFWOS4zMzY1QzguMzY0MzEgOS40NTQzNSA4LjI2Nzg4IDkuNTUwNzggOC4xNTAwMiA5LjU1MDc4QzguMDMyMTcgOS41NTA3OCA3LjkzNTc0IDkuNDU0MzUgNy45MzU3NCA5LjMzNjVWOC4yNjUwN0g2Ljg2NDMxQzYuNzQ2NDUgOC4yNjUwNyA2LjY1MDAyIDguMTY4NjQgNi42NTAwMiA4LjA1MDc4QzYuNjUwMDIgNy45MzI5MiA2Ljc0NjQ1IDcuODM2NSA2Ljg2NDMxIDcuODM2NUg3LjkzNTc0VjYuNzY1MDdDNy45MzU3NCA2LjY0NzIxIDguMDMyMTcgNi41NTA3OCA4LjE1MDAyIDYuNTUwNzhDOC4yNjc4OCA2LjU1MDc4IDguMzY0MzEgNi42NDcyMSA4LjM2NDMxIDYuNzY1MDdWNy44MzY1SDkuNDM1NzRDOS41NTM2IDcuODM2NSA5LjY1MDAyIDcuOTMyOTIgOS42NTAwMiA4LjA1MDc4QzkuNjUwMDIgOC4xNjg2NCA5LjU1MzYgOC4yNjUwNyA5LjQzNTc0IDguMjY1MDdaIiBmaWxsPSIjNjE2MTYxIiBzdHJva2U9IiM2MTYxNjEiIHN0cm9rZS13aWR0aD0iMC41Ii8+Cjwvc3ZnPgo=);
  --jp-icon-edit: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMgMTcuMjVWMjFoMy43NUwxNy44MSA5Ljk0bC0zLjc1LTMuNzVMMyAxNy4yNXpNMjAuNzEgNy4wNGMuMzktLjM5LjM5LTEuMDIgMC0xLjQxbC0yLjM0LTIuMzRjLS4zOS0uMzktMS4wMi0uMzktMS40MSAwbC0xLjgzIDEuODMgMy43NSAzLjc1IDEuODMtMS44M3oiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-ellipses: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPGNpcmNsZSBjeD0iNSIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyIi8+CiAgICA8Y2lyY2xlIGN4PSIxOSIgY3k9IjEyIiByPSIyIi8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-error: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjE5IiByPSIyIi8+PHBhdGggZD0iTTEwIDNoNHYxMmgtNHoiLz48L2c+CjxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0wIDBoMjR2MjRIMHoiLz4KPC9zdmc+Cg==);
  --jp-icon-expand-all: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTggMmMxIDAgMTEgMCAxMiAwczIgMSAyIDJjMCAxIDAgMTEgMCAxMnMwIDItMiAyQzIwIDE0IDIwIDQgMjAgNFMxMCA0IDYgNGMwLTIgMS0yIDItMnoiIC8+CiAgICAgICAgPHBhdGgKICAgICAgICAgICAgZD0iTTE4IDhjMC0xLTEtMi0yLTJTNSA2IDQgNnMtMiAxLTIgMmMwIDEgMCAxMSAwIDEyczEgMiAyIDJjMSAwIDExIDAgMTIgMHMyLTEgMi0yYzAtMSAwLTExIDAtMTJ6bS0yIDB2MTJINFY4eiIgLz4KICAgICAgICA8cGF0aCBkPSJNMTEgMTBIOXYzSDZ2MmgzdjNoMnYtM2gzdi0yaC0zeiIgLz4KICAgIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-extension: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwLjUgMTFIMTlWN2MwLTEuMS0uOS0yLTItMmgtNFYzLjVDMTMgMi4xMiAxMS44OCAxIDEwLjUgMVM4IDIuMTIgOCAzLjVWNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAydjMuOEgzLjVjMS40OSAwIDIuNyAxLjIxIDIuNyAyLjdzLTEuMjEgMi43LTIuNyAyLjdIMlYyMGMwIDEuMS45IDIgMiAyaDMuOHYtMS41YzAtMS40OSAxLjIxLTIuNyAyLjctMi43IDEuNDkgMCAyLjcgMS4yMSAyLjcgMi43VjIySDE3YzEuMSAwIDItLjkgMi0ydi00aDEuNWMxLjM4IDAgMi41LTEuMTIgMi41LTIuNVMyMS44OCAxMSAyMC41IDExeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-fast-forward: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTQgMThsOC41LTZMNCA2djEyem05LTEydjEybDguNS02TDEzIDZ6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-file-upload: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTkgMTZoNnYtNmg0bC03LTctNyA3aDR6bS00IDJoMTR2Mkg1eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-file: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuMyA4LjJsLTUuNS01LjVjLS4zLS4zLS43LS41LTEuMi0uNUgzLjljLS44LjEtMS42LjktMS42IDEuOHYxNC4xYzAgLjkuNyAxLjYgMS42IDEuNmgxNC4yYy45IDAgMS42LS43IDEuNi0xLjZWOS40Yy4xLS41LS4xLS45LS40LTEuMnptLTUuOC0zLjNsMy40IDMuNmgtMy40VjQuOXptMy45IDEyLjdINC43Yy0uMSAwLS4yIDAtLjItLjJWNC43YzAtLjIuMS0uMy4yLS4zaDcuMnY0LjRzMCAuOC4zIDEuMWMuMy4zIDEuMS4zIDEuMS4zaDQuM3Y3LjJzLS4xLjItLjIuMnoiLz4KPC9zdmc+Cg==);
  --jp-icon-filter-dot: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgogIDxnIGNsYXNzPSJqcC1pY29uLWRvdCIgZmlsbD0iI0ZGRiI+CiAgICA8Y2lyY2xlIGN4PSIxOCIgY3k9IjE3IiByPSIzIj48L2NpcmNsZT4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-filter-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEwIDE4aDR2LTJoLTR2MnpNMyA2djJoMThWNkgzem0zIDdoMTJ2LTJINnYyeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-filter: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiNGRkYiPgogICAgPHBhdGggZD0iTTE0LDEyVjE5Ljg4QzE0LjA0LDIwLjE4IDEzLjk0LDIwLjUgMTMuNzEsMjAuNzFDMTMuMzIsMjEuMSAxMi42OSwyMS4xIDEyLjMsMjAuNzFMMTAuMjksMTguN0MxMC4wNiwxOC40NyA5Ljk2LDE4LjE2IDEwLDE3Ljg3VjEySDkuOTdMNC4yMSw0LjYyQzMuODcsNC4xOSAzLjk1LDMuNTYgNC4zOCwzLjIyQzQuNTcsMy4wOCA0Ljc4LDMgNSwzVjNIMTlWM0MxOS4yMiwzIDE5LjQzLDMuMDggMTkuNjIsMy4yMkMyMC4wNSwzLjU2IDIwLjEzLDQuMTkgMTkuNzksNC42MkwxNC4wMywxMkgxNFoiIC8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-folder-favorite: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgwVjB6IiBmaWxsPSJub25lIi8+PHBhdGggY2xhc3M9ImpwLWljb24zIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxNjE2MSIgZD0iTTIwIDZoLThsLTItMkg0Yy0xLjEgMC0yIC45LTIgMnYxMmMwIDEuMS45IDIgMiAyaDE2YzEuMSAwIDItLjkgMi0yVjhjMC0xLjEtLjktMi0yLTJ6bS0yLjA2IDExTDE1IDE1LjI4IDEyLjA2IDE3bC43OC0zLjMzLTIuNTktMi4yNCAzLjQxLS4yOUwxNSA4bDEuMzQgMy4xNCAzLjQxLjI5LTIuNTkgMi4yNC43OCAzLjMzeiIvPgo8L3N2Zz4K);
  --jp-icon-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY4YzAtMS4xLS45LTItMi0yaC04bC0yLTJ6Ii8+Cjwvc3ZnPgo=);
  --jp-icon-home: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjRweCIgdmlld0JveD0iMCAwIDI0IDI0IiB3aWR0aD0iMjRweCIgZmlsbD0iIzAwMDAwMCI+CiAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGNsYXNzPSJqcC1pY29uMyBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xMCAyMHYtNmg0djZoNXYtOGgzTDEyIDMgMiAxMmgzdjh6Ii8+Cjwvc3ZnPgo=);
  --jp-icon-html5: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uMCBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiMwMDAiIGQ9Ik0xMDguNCAwaDIzdjIyLjhoMjEuMlYwaDIzdjY5aC0yM1Y0NmgtMjF2MjNoLTIzLjJNMjA2IDIzaC0yMC4zVjBoNjMuN3YyM0gyMjl2NDZoLTIzbTUzLjUtNjloMjQuMWwxNC44IDI0LjNMMzEzLjIgMGgyNC4xdjY5aC0yM1YzNC44bC0xNi4xIDI0LjgtMTYuMS0yNC44VjY5aC0yMi42bTg5LjItNjloMjN2NDYuMmgzMi42VjY5aC01NS42Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2U0NGQyNiIgZD0iTTEwNy42IDQ3MWwtMzMtMzcwLjRoMzYyLjhsLTMzIDM3MC4yTDI1NS43IDUxMiIvPgogIDxwYXRoIGNsYXNzPSJqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNmMTY1MjkiIGQ9Ik0yNTYgNDgwLjVWMTMxaDE0OC4zTDM3NiA0NDciLz4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNlYmViZWIiIGQ9Ik0xNDIgMTc2LjNoMTE0djQ1LjRoLTY0LjJsNC4yIDQ2LjVoNjB2NDUuM0gxNTQuNG0yIDIyLjhIMjAybDMuMiAzNi4zIDUwLjggMTMuNnY0Ny40bC05My4yLTI2Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZS1pbnZlcnNlIiBmaWxsPSIjZmZmIiBkPSJNMzY5LjYgMTc2LjNIMjU1Ljh2NDUuNGgxMDkuNm0tNC4xIDQ2LjVIMjU1Ljh2NDUuNGg1NmwtNS4zIDU5LTUwLjcgMTMuNnY0Ny4ybDkzLTI1LjgiLz4KPC9zdmc+Cg==);
  --jp-icon-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1icmFuZDQganAtaWNvbi1zZWxlY3RhYmxlLWludmVyc2UiIGZpbGw9IiNGRkYiIGQ9Ik0yLjIgMi4yaDE3LjV2MTcuNUgyLjJ6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzNGNTFCNSIgZD0iTTIuMiAyLjJ2MTcuNWgxNy41bC4xLTE3LjVIMi4yem0xMi4xIDIuMmMxLjIgMCAyLjIgMSAyLjIgMi4ycy0xIDIuMi0yLjIgMi4yLTIuMi0xLTIuMi0yLjIgMS0yLjIgMi4yLTIuMnpNNC40IDE3LjZsMy4zLTguOCAzLjMgNi42IDIuMi0zLjIgNC40IDUuNEg0LjR6Ii8+Cjwvc3ZnPgo=);
  --jp-icon-info: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUwLjk3OCA1MC45NzgiPgoJPGcgY2xhc3M9ImpwLWljb24zIiBmaWxsPSIjNjE2MTYxIj4KCQk8cGF0aCBkPSJNNDMuNTIsNy40NThDMzguNzExLDIuNjQ4LDMyLjMwNywwLDI1LjQ4OSwwQzE4LjY3LDAsMTIuMjY2LDIuNjQ4LDcuNDU4LDcuNDU4CgkJCWMtOS45NDMsOS45NDEtOS45NDMsMjYuMTE5LDAsMzYuMDYyYzQuODA5LDQuODA5LDExLjIxMiw3LjQ1NiwxOC4wMzEsNy40NThjMCwwLDAuMDAxLDAsMC4wMDIsMAoJCQljNi44MTYsMCwxMy4yMjEtMi42NDgsMTguMDI5LTcuNDU4YzQuODA5LTQuODA5LDcuNDU3LTExLjIxMiw3LjQ1Ny0xOC4wM0M1MC45NzcsMTguNjcsNDguMzI4LDEyLjI2Niw0My41Miw3LjQ1OHoKCQkJIE00Mi4xMDYsNDIuMTA1Yy00LjQzMiw0LjQzMS0xMC4zMzIsNi44NzItMTYuNjE1LDYuODcyaC0wLjAwMmMtNi4yODUtMC4wMDEtMTIuMTg3LTIuNDQxLTE2LjYxNy02Ljg3MgoJCQljLTkuMTYyLTkuMTYzLTkuMTYyLTI0LjA3MSwwLTMzLjIzM0MxMy4zMDMsNC40NCwxOS4yMDQsMiwyNS40ODksMmM2LjI4NCwwLDEyLjE4NiwyLjQ0LDE2LjYxNyw2Ljg3MgoJCQljNC40MzEsNC40MzEsNi44NzEsMTAuMzMyLDYuODcxLDE2LjYxN0M0OC45NzcsMzEuNzcyLDQ2LjUzNiwzNy42NzUsNDIuMTA2LDQyLjEwNXoiLz4KCQk8cGF0aCBkPSJNMjMuNTc4LDMyLjIxOGMtMC4wMjMtMS43MzQsMC4xNDMtMy4wNTksMC40OTYtMy45NzJjMC4zNTMtMC45MTMsMS4xMS0xLjk5NywyLjI3Mi0zLjI1MwoJCQljMC40NjgtMC41MzYsMC45MjMtMS4wNjIsMS4zNjctMS41NzVjMC42MjYtMC43NTMsMS4xMDQtMS40NzgsMS40MzYtMi4xNzVjMC4zMzEtMC43MDcsMC40OTUtMS41NDEsMC40OTUtMi41CgkJCWMwLTEuMDk2LTAuMjYtMi4wODgtMC43NzktMi45NzljLTAuNTY1LTAuODc5LTEuNTAxLTEuMzM2LTIuODA2LTEuMzY5Yy0xLjgwMiwwLjA1Ny0yLjk4NSwwLjY2Ny0zLjU1LDEuODMyCgkJCWMtMC4zMDEsMC41MzUtMC41MDMsMS4xNDEtMC42MDcsMS44MTRjLTAuMTM5LDAuNzA3LTAuMjA3LDEuNDMyLTAuMjA3LDIuMTc0aC0yLjkzN2MtMC4wOTEtMi4yMDgsMC40MDctNC4xMTQsMS40OTMtNS43MTkKCQkJYzEuMDYyLTEuNjQsMi44NTUtMi40ODEsNS4zNzgtMi41MjdjMi4xNiwwLjAyMywzLjg3NCwwLjYwOCw1LjE0MSwxLjc1OGMxLjI3OCwxLjE2LDEuOTI5LDIuNzY0LDEuOTUsNC44MTEKCQkJYzAsMS4xNDItMC4xMzcsMi4xMTEtMC40MSwyLjkxMWMtMC4zMDksMC44NDUtMC43MzEsMS41OTMtMS4yNjgsMi4yNDNjLTAuNDkyLDAuNjUtMS4wNjgsMS4zMTgtMS43MywyLjAwMgoJCQljLTAuNjUsMC42OTctMS4zMTMsMS40NzktMS45ODcsMi4zNDZjLTAuMjM5LDAuMzc3LTAuNDI5LDAuNzc3LTAuNTY1LDEuMTk5Yy0wLjE2LDAuOTU5LTAuMjE3LDEuOTUxLTAuMTcxLDIuOTc5CgkJCUMyNi41ODksMzIuMjE4LDIzLjU3OCwzMi4yMTgsMjMuNTc4LDMyLjIxOHogTTIzLjU3OCwzOC4yMnYtMy40ODRoMy4wNzZ2My40ODRIMjMuNTc4eiIvPgoJPC9nPgo8L3N2Zz4K);
  --jp-icon-inspector: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaW5zcGVjdG9yLWljb24tY29sb3IganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNEg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMThjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY2YzAtMS4xLS45LTItMi0yem0tNSAxNEg0di00aDExdjR6bTAtNUg0VjloMTF2NHptNSA1aC00VjloNHY5eiIvPgo8L3N2Zz4K);
  --jp-icon-json: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtanNvbi1pY29uLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0Y5QTgyNSI+CiAgICA8cGF0aCBkPSJNMjAuMiAxMS44Yy0xLjYgMC0xLjcuNS0xLjcgMSAwIC40LjEuOS4xIDEuMy4xLjUuMS45LjEgMS4zIDAgMS43LTEuNCAyLjMtMy41IDIuM2gtLjl2LTEuOWguNWMxLjEgMCAxLjQgMCAxLjQtLjggMC0uMyAwLS42LS4xLTEgMC0uNC0uMS0uOC0uMS0xLjIgMC0xLjMgMC0xLjggMS4zLTItMS4zLS4yLTEuMy0uNy0xLjMtMiAwLS40LjEtLjguMS0xLjIuMS0uNC4xLS43LjEtMSAwLS44LS40LS43LTEuNC0uOGgtLjVWNC4xaC45YzIuMiAwIDMuNS43IDMuNSAyLjMgMCAuNC0uMS45LS4xIDEuMy0uMS41LS4xLjktLjEgMS4zIDAgLjUuMiAxIDEuNyAxdjEuOHpNMS44IDEwLjFjMS42IDAgMS43LS41IDEuNy0xIDAtLjQtLjEtLjktLjEtMS4zLS4xLS41LS4xLS45LS4xLTEuMyAwLTEuNiAxLjQtMi4zIDMuNS0yLjNoLjl2MS45aC0uNWMtMSAwLTEuNCAwLTEuNC44IDAgLjMgMCAuNi4xIDEgMCAuMi4xLjYuMSAxIDAgMS4zIDAgMS44LTEuMyAyQzYgMTEuMiA2IDExLjcgNiAxM2MwIC40LS4xLjgtLjEgMS4yLS4xLjMtLjEuNy0uMSAxIDAgLjguMy44IDEuNC44aC41djEuOWgtLjljLTIuMSAwLTMuNS0uNi0zLjUtMi4zIDAtLjQuMS0uOS4xLTEuMy4xLS41LjEtLjkuMS0xLjMgMC0uNS0uMi0xLTEuNy0xdi0xLjl6Ii8+CiAgICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjEzLjgiIHI9IjIuMSIvPgogICAgPGNpcmNsZSBjeD0iMTEiIGN5PSI4LjIiIHI9IjIuMSIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-julia: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDMyNSAzMDAiPgogIDxnIGNsYXNzPSJqcC1icmFuZDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjY2IzYzMzIj4KICAgIDxwYXRoIGQ9Ik0gMTUwLjg5ODQzOCAyMjUgQyAxNTAuODk4NDM4IDI2Ni40MjE4NzUgMTE3LjMyMDMxMiAzMDAgNzUuODk4NDM4IDMwMCBDIDM0LjQ3NjU2MiAzMDAgMC44OTg0MzggMjY2LjQyMTg3NSAwLjg5ODQzOCAyMjUgQyAwLjg5ODQzOCAxODMuNTc4MTI1IDM0LjQ3NjU2MiAxNTAgNzUuODk4NDM4IDE1MCBDIDExNy4zMjAzMTIgMTUwIDE1MC44OTg0MzggMTgzLjU3ODEyNSAxNTAuODk4NDM4IDIyNSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzM4OTgyNiI+CiAgICA8cGF0aCBkPSJNIDIzNy41IDc1IEMgMjM3LjUgMTE2LjQyMTg3NSAyMDMuOTIxODc1IDE1MCAxNjIuNSAxNTAgQyAxMjEuMDc4MTI1IDE1MCA4Ny41IDExNi40MjE4NzUgODcuNSA3NSBDIDg3LjUgMzMuNTc4MTI1IDEyMS4wNzgxMjUgMCAxNjIuNSAwIEMgMjAzLjkyMTg3NSAwIDIzNy41IDMzLjU3ODEyNSAyMzcuNSA3NSIvPgogIDwvZz4KICA8ZyBjbGFzcz0ianAtYnJhbmQwIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzk1NThiMiI+CiAgICA8cGF0aCBkPSJNIDMyNC4xMDE1NjIgMjI1IEMgMzI0LjEwMTU2MiAyNjYuNDIxODc1IDI5MC41MjM0MzggMzAwIDI0OS4xMDE1NjIgMzAwIEMgMjA3LjY3OTY4OCAzMDAgMTc0LjEwMTU2MiAyNjYuNDIxODc1IDE3NC4xMDE1NjIgMjI1IEMgMTc0LjEwMTU2MiAxODMuNTc4MTI1IDIwNy42Nzk2ODggMTUwIDI0OS4xMDE1NjIgMTUwIEMgMjkwLjUyMzQzOCAxNTAgMzI0LjEwMTU2MiAxODMuNTc4MTI1IDMyNC4xMDE1NjIgMjI1Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-jupyter-favicon: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTUyIiBoZWlnaHQ9IjE2NSIgdmlld0JveD0iMCAwIDE1MiAxNjUiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgPGcgY2xhc3M9ImpwLWp1cHl0ZXItaWNvbi1jb2xvciIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA3ODk0NywgMTEwLjU4MjkyNykiIGQ9Ik03NS45NDIyODQyLDI5LjU4MDQ1NjEgQzQzLjMwMjM5NDcsMjkuNTgwNDU2MSAxNC43OTY3ODMyLDE3LjY1MzQ2MzQgMCwwIEM1LjUxMDgzMjExLDE1Ljg0MDY4MjkgMTUuNzgxNTM4OSwyOS41NjY3NzMyIDI5LjM5MDQ5NDcsMzkuMjc4NDE3MSBDNDIuOTk5Nyw0OC45ODk4NTM3IDU5LjI3MzcsNTQuMjA2NzgwNSA3NS45NjA1Nzg5LDU0LjIwNjc4MDUgQzkyLjY0NzQ1NzksNTQuMjA2NzgwNSAxMDguOTIxNDU4LDQ4Ljk4OTg1MzcgMTIyLjUzMDY2MywzOS4yNzg0MTcxIEMxMzYuMTM5NDUzLDI5LjU2Njc3MzIgMTQ2LjQxMDI4NCwxNS44NDA2ODI5IDE1MS45MjExNTgsMCBDMTM3LjA4Nzg2OCwxNy42NTM0NjM0IDEwOC41ODI1ODksMjkuNTgwNDU2MSA3NS45NDIyODQyLDI5LjU4MDQ1NjEgTDc1Ljk0MjI4NDIsMjkuNTgwNDU2MSBaIiAvPgogICAgPHBhdGggdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMzczNjgsIDAuNzA0ODc4KSIgZD0iTTc1Ljk3ODQ1NzksMjQuNjI2NDA3MyBDMTA4LjYxODc2MywyNC42MjY0MDczIDEzNy4xMjQ0NTgsMzYuNTUzNDQxNSAxNTEuOTIxMTU4LDU0LjIwNjc4MDUgQzE0Ni40MTAyODQsMzguMzY2MjIyIDEzNi4xMzk0NTMsMjQuNjQwMTMxNyAxMjIuNTMwNjYzLDE0LjkyODQ4NzggQzEwOC45MjE0NTgsNS4yMTY4NDM5IDkyLjY0NzQ1NzksMCA3NS45NjA1Nzg5LDAgQzU5LjI3MzcsMCA0Mi45OTk3LDUuMjE2ODQzOSAyOS4zOTA0OTQ3LDE0LjkyODQ4NzggQzE1Ljc4MTUzODksMjQuNjQwMTMxNyA1LjUxMDgzMjExLDM4LjM2NjIyMiAwLDU0LjIwNjc4MDUgQzE0LjgzMzA4MTYsMzYuNTg5OTI5MyA0My4zMzg1Njg0LDI0LjYyNjQwNzMgNzUuOTc4NDU3OSwyNC42MjY0MDczIEw3NS45Nzg0NTc5LDI0LjYyNjQwNzMgWiIgLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-jupyter: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzkiIGhlaWdodD0iNTEiIHZpZXdCb3g9IjAgMCAzOSA1MSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYzOCAtMjI4MSkiPgogICAgIDxnIGNsYXNzPSJqcC1qdXB5dGVyLWljb24tY29sb3IiIGZpbGw9IiNGMzc3MjYiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5Ljc0IDIzMTEuOTgpIiBkPSJNIDE4LjI2NDYgNy4xMzQxMUMgMTAuNDE0NSA3LjEzNDExIDMuNTU4NzIgNC4yNTc2IDAgMEMgMS4zMjUzOSAzLjgyMDQgMy43OTU1NiA3LjEzMDgxIDcuMDY4NiA5LjQ3MzAzQyAxMC4zNDE3IDExLjgxNTIgMTQuMjU1NyAxMy4wNzM0IDE4LjI2OSAxMy4wNzM0QyAyMi4yODIzIDEzLjA3MzQgMjYuMTk2MyAxMS44MTUyIDI5LjQ2OTQgOS40NzMwM0MgMzIuNzQyNCA3LjEzMDgxIDM1LjIxMjYgMy44MjA0IDM2LjUzOCAwQyAzMi45NzA1IDQuMjU3NiAyNi4xMTQ4IDcuMTM0MTEgMTguMjY0NiA3LjEzNDExWiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM5LjczIDIyODUuNDgpIiBkPSJNIDE4LjI3MzMgNS45MzkzMUMgMjYuMTIzNSA1LjkzOTMxIDMyLjk3OTMgOC44MTU4MyAzNi41MzggMTMuMDczNEMgMzUuMjEyNiA5LjI1MzAzIDMyLjc0MjQgNS45NDI2MiAyOS40Njk0IDMuNjAwNEMgMjYuMTk2MyAxLjI1ODE4IDIyLjI4MjMgMCAxOC4yNjkgMEMgMTQuMjU1NyAwIDEwLjM0MTcgMS4yNTgxOCA3LjA2ODYgMy42MDA0QyAzLjc5NTU2IDUuOTQyNjIgMS4zMjUzOSA5LjI1MzAzIDAgMTMuMDczNEMgMy41Njc0NSA4LjgyNDYzIDEwLjQyMzIgNS45MzkzMSAxOC4yNzMzIDUuOTM5MzFaIi8+CiAgICA8L2c+CiAgICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjY5LjMgMjI4MS4zMSkiIGQ9Ik0gNS44OTM1MyAyLjg0NEMgNS45MTg4OSAzLjQzMTY1IDUuNzcwODUgNC4wMTM2NyA1LjQ2ODE1IDQuNTE2NDVDIDUuMTY1NDUgNS4wMTkyMiA0LjcyMTY4IDUuNDIwMTUgNC4xOTI5OSA1LjY2ODUxQyAzLjY2NDMgNS45MTY4OCAzLjA3NDQ0IDYuMDAxNTEgMi40OTgwNSA1LjkxMTcxQyAxLjkyMTY2IDUuODIxOSAxLjM4NDYzIDUuNTYxNyAwLjk1NDg5OCA1LjE2NDAxQyAwLjUyNTE3IDQuNzY2MzMgMC4yMjIwNTYgNC4yNDkwMyAwLjA4MzkwMzcgMy42Nzc1N0MgLTAuMDU0MjQ4MyAzLjEwNjExIC0wLjAyMTIzIDIuNTA2MTcgMC4xNzg3ODEgMS45NTM2NEMgMC4zNzg3OTMgMS40MDExIDAuNzM2ODA5IDAuOTIwODE3IDEuMjA3NTQgMC41NzM1MzhDIDEuNjc4MjYgMC4yMjYyNTkgMi4yNDA1NSAwLjAyNzU5MTkgMi44MjMyNiAwLjAwMjY3MjI5QyAzLjYwMzg5IC0wLjAzMDcxMTUgNC4zNjU3MyAwLjI0OTc4OSA0Ljk0MTQyIDAuNzgyNTUxQyA1LjUxNzExIDEuMzE1MzEgNS44NTk1NiAyLjA1Njc2IDUuODkzNTMgMi44NDRaIi8+CiAgICAgIDxwYXRoIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MzkuOCAyMzIzLjgxKSIgZD0iTSA3LjQyNzg5IDMuNTgzMzhDIDcuNDYwMDggNC4zMjQzIDcuMjczNTUgNS4wNTgxOSA2Ljg5MTkzIDUuNjkyMTNDIDYuNTEwMzEgNi4zMjYwNyA1Ljk1MDc1IDYuODMxNTYgNS4yODQxMSA3LjE0NDZDIDQuNjE3NDcgNy40NTc2MyAzLjg3MzcxIDcuNTY0MTQgMy4xNDcwMiA3LjQ1MDYzQyAyLjQyMDMyIDcuMzM3MTIgMS43NDMzNiA3LjAwODcgMS4yMDE4NCA2LjUwNjk1QyAwLjY2MDMyOCA2LjAwNTIgMC4yNzg2MSA1LjM1MjY4IDAuMTA1MDE3IDQuNjMyMDJDIC0wLjA2ODU3NTcgMy45MTEzNSAtMC4wMjYyMzYxIDMuMTU0OTQgMC4yMjY2NzUgMi40NTg1NkMgMC40Nzk1ODcgMS43NjIxNyAwLjkzMTY5NyAxLjE1NzEzIDEuNTI1NzYgMC43MjAwMzNDIDIuMTE5ODMgMC4yODI5MzUgMi44MjkxNCAwLjAzMzQzOTUgMy41NjM4OSAwLjAwMzEzMzQ0QyA0LjU0NjY3IC0wLjAzNzQwMzMgNS41MDUyOSAwLjMxNjcwNiA2LjIyOTYxIDAuOTg3ODM1QyA2Ljk1MzkzIDEuNjU4OTYgNy4zODQ4NCAyLjU5MjM1IDcuNDI3ODkgMy41ODMzOEwgNy40Mjc4OSAzLjU4MzM4WiIvPgogICAgICA8cGF0aCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNjM4LjM2IDIyODYuMDYpIiBkPSJNIDIuMjc0NzEgNC4zOTYyOUMgMS44NDM2MyA0LjQxNTA4IDEuNDE2NzEgNC4zMDQ0NSAxLjA0Nzk5IDQuMDc4NDNDIDAuNjc5MjY4IDMuODUyNCAwLjM4NTMyOCAzLjUyMTE0IDAuMjAzMzcxIDMuMTI2NTZDIDAuMDIxNDEzNiAyLjczMTk4IC0wLjA0MDM3OTggMi4yOTE4MyAwLjAyNTgxMTYgMS44NjE4MUMgMC4wOTIwMDMxIDEuNDMxOCAwLjI4MzIwNCAxLjAzMTI2IDAuNTc1MjEzIDAuNzEwODgzQyAwLjg2NzIyMiAwLjM5MDUxIDEuMjQ2OTEgMC4xNjQ3MDggMS42NjYyMiAwLjA2MjA1OTJDIDIuMDg1NTMgLTAuMDQwNTg5NyAyLjUyNTYxIC0wLjAxNTQ3MTQgMi45MzA3NiAwLjEzNDIzNUMgMy4zMzU5MSAwLjI4Mzk0MSAzLjY4NzkyIDAuNTUxNTA1IDMuOTQyMjIgMC45MDMwNkMgNC4xOTY1MiAxLjI1NDYyIDQuMzQxNjkgMS42NzQzNiA0LjM1OTM1IDIuMTA5MTZDIDQuMzgyOTkgMi42OTEwNyA0LjE3Njc4IDMuMjU4NjkgMy43ODU5NyAzLjY4NzQ2QyAzLjM5NTE2IDQuMTE2MjQgMi44NTE2NiA0LjM3MTE2IDIuMjc0NzEgNC4zOTYyOUwgMi4yNzQ3MSA0LjM5NjI5WiIvPgogICAgPC9nPgogIDwvZz4+Cjwvc3ZnPgo=);
  --jp-icon-jupyterlab-wordmark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMDAiIHZpZXdCb3g9IjAgMCAxODYwLjggNDc1Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0RTRFNEUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4MC4xMzY0MDEsIDY0LjI3MTQ5MykiPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsIDU4Ljg3NTU2NikiPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjA4NzYwMywgMC4xNDAyOTQpIj4KICAgICAgICA8cGF0aCBkPSJNLTQyNi45LDE2OS44YzAsNDguNy0zLjcsNjQuNy0xMy42LDc2LjRjLTEwLjgsMTAtMjUsMTUuNS0zOS43LDE1LjVsMy43LDI5IGMyMi44LDAuMyw0NC44LTcuOSw2MS45LTIzLjFjMTcuOC0xOC41LDI0LTQ0LjEsMjQtODMuM1YwSC00Mjd2MTcwLjFMLTQyNi45LDE2OS44TC00MjYuOSwxNjkuOHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU1LjA0NTI5NiwgNTYuODM3MTA0KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuNTYyNDUzLCAxLjc5OTg0MikiPgogICAgICAgIDxwYXRoIGQ9Ik0tMzEyLDE0OGMwLDIxLDAsMzkuNSwxLjcsNTUuNGgtMzEuOGwtMi4xLTMzLjNoLTAuOGMtNi43LDExLjYtMTYuNCwyMS4zLTI4LDI3LjkgYy0xMS42LDYuNi0yNC44LDEwLTM4LjIsOS44Yy0zMS40LDAtNjktMTcuNy02OS04OVYwaDM2LjR2MTEyLjdjMCwzOC43LDExLjYsNjQuNyw0NC42LDY0LjdjMTAuMy0wLjIsMjAuNC0zLjUsMjguOS05LjQgYzguNS01LjksMTUuMS0xNC4zLDE4LjktMjMuOWMyLjItNi4xLDMuMy0xMi41LDMuMy0xOC45VjAuMmgzNi40VjE0OEgtMzEyTC0zMTIsMTQ4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTAuMDEzMzIyLCA1My40Nzk2MzgpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS43MDY0NTgsIDAuMjMxNDI1KSI+CiAgICAgICAgPHBhdGggZD0iTS00NzguNiw3MS40YzAtMjYtMC44LTQ3LTEuNy02Ni43aDMyLjdsMS43LDM0LjhoMC44YzcuMS0xMi41LDE3LjUtMjIuOCwzMC4xLTI5LjcgYzEyLjUtNywyNi43LTEwLjMsNDEtOS44YzQ4LjMsMCw4NC43LDQxLjcsODQuNywxMDMuM2MwLDczLjEtNDMuNywxMDkuMi05MSwxMDkuMmMtMTIuMSwwLjUtMjQuMi0yLjItMzUtNy44IGMtMTAuOC01LjYtMTkuOS0xMy45LTI2LjYtMjQuMmgtMC44VjI5MWgtMzZ2LTIyMEwtNDc4LjYsNzEuNEwtNDc4LjYsNzEuNHogTS00NDIuNiwxMjUuNmMwLjEsNS4xLDAuNiwxMC4xLDEuNywxNS4xIGMzLDEyLjMsOS45LDIzLjMsMTkuOCwzMS4xYzkuOSw3LjgsMjIuMSwxMi4xLDM0LjcsMTIuMWMzOC41LDAsNjAuNy0zMS45LDYwLjctNzguNWMwLTQwLjctMjEuMS03NS42LTU5LjUtNzUuNiBjLTEyLjksMC40LTI1LjMsNS4xLTM1LjMsMTMuNGMtOS45LDguMy0xNi45LDE5LjctMTkuNiwzMi40Yy0xLjUsNC45LTIuMywxMC0yLjUsMTUuMVYxMjUuNkwtNDQyLjYsMTI1LjZMLTQ0Mi42LDEyNS42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg2MDYuNzQwNzI2LCA1Ni44MzcxMDQpIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC43NTEyMjYsIDEuOTg5Mjk5KSI+CiAgICAgICAgPHBhdGggZD0iTS00NDAuOCwwbDQzLjcsMTIwLjFjNC41LDEzLjQsOS41LDI5LjQsMTIuOCw0MS43aDAuOGMzLjctMTIuMiw3LjktMjcuNywxMi44LTQyLjQgbDM5LjctMTE5LjJoMzguNUwtMzQ2LjksMTQ1Yy0yNiw2OS43LTQzLjcsMTA1LjQtNjguNiwxMjcuMmMtMTIuNSwxMS43LTI3LjksMjAtNDQuNiwyMy45bC05LjEtMzEuMSBjMTEuNy0zLjksMjIuNS0xMC4xLDMxLjgtMTguMWMxMy4yLTExLjEsMjMuNy0yNS4yLDMwLjYtNDEuMmMxLjUtMi44LDIuNS01LjcsMi45LTguOGMtMC4zLTMuMy0xLjItNi42LTIuNS05LjdMLTQ4MC4yLDAuMSBoMzkuN0wtNDQwLjgsMEwtNDQwLjgsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODIyLjc0ODEwNCwgMC4wMDAwMDApIj4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMS40NjQwNTAsIDAuMzc4OTE0KSI+CiAgICAgICAgPHBhdGggZD0iTS00MTMuNywwdjU4LjNoNTJ2MjguMmgtNTJWMTk2YzAsMjUsNywzOS41LDI3LjMsMzkuNWM3LjEsMC4xLDE0LjItMC43LDIxLjEtMi41IGwxLjcsMjcuN2MtMTAuMywzLjctMjEuMyw1LjQtMzIuMiw1Yy03LjMsMC40LTE0LjYtMC43LTIxLjMtMy40Yy02LjgtMi43LTEyLjktNi44LTE3LjktMTIuMWMtMTAuMy0xMC45LTE0LjEtMjktMTQuMS01Mi45IFY4Ni41aC0zMVY1OC4zaDMxVjkuNkwtNDEzLjcsMEwtNDEzLjcsMHoiLz4KICAgICAgPC9nPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTc0LjQzMzI4NiwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuOTkwMDM0LCAwLjYxMDMzOSkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDQ1LjgsMTEzYzAuOCw1MCwzMi4yLDcwLjYsNjguNiw3MC42YzE5LDAuNiwzNy45LTMsNTUuMy0xMC41bDYuMiwyNi40IGMtMjAuOSw4LjktNDMuNSwxMy4xLTY2LjIsMTIuNmMtNjEuNSwwLTk4LjMtNDEuMi05OC4zLTEwMi41Qy00ODAuMiw0OC4yLTQ0NC43LDAtMzg2LjUsMGM2NS4yLDAsODIuNyw1OC4zLDgyLjcsOTUuNyBjLTAuMSw1LjgtMC41LDExLjUtMS4yLDE3LjJoLTE0MC42SC00NDUuOEwtNDQ1LjgsMTEzeiBNLTMzOS4yLDg2LjZjMC40LTIzLjUtOS41LTYwLjEtNTAuNC02MC4xIGMtMzYuOCwwLTUyLjgsMzQuNC01NS43LDYwLjFILTMzOS4yTC0zMzkuMiw4Ni42TC0zMzkuMiw4Ni42eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMjAxLjk2MTA1OCwgNTMuNDc5NjM4KSI+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuMTc5NjQwLCAwLjcwNTA2OCkiPgogICAgICAgIDxwYXRoIGQ9Ik0tNDc4LjYsNjhjMC0yMy45LTAuNC00NC41LTEuNy02My40aDMxLjhsMS4yLDM5LjloMS43YzkuMS0yNy4zLDMxLTQ0LjUsNTUuMy00NC41IGMzLjUtMC4xLDcsMC40LDEwLjMsMS4ydjM0LjhjLTQuMS0wLjktOC4yLTEuMy0xMi40LTEuMmMtMjUuNiwwLTQzLjcsMTkuNy00OC43LDQ3LjRjLTEsNS43LTEuNiwxMS41LTEuNywxNy4ydjEwOC4zaC0zNlY2OCBMLTQ3OC42LDY4eiIvPgogICAgICA8L2c+CiAgICA8L2c+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi13YXJuMCIgZmlsbD0iI0YzNzcyNiI+CiAgICA8cGF0aCBkPSJNMTM1Mi4zLDMyNi4yaDM3VjI4aC0zN1YzMjYuMnogTTE2MDQuOCwzMjYuMmMtMi41LTEzLjktMy40LTMxLjEtMy40LTQ4Ljd2LTc2IGMwLTQwLjctMTUuMS04My4xLTc3LjMtODMuMWMtMjUuNiwwLTUwLDcuMS02Ni44LDE4LjFsOC40LDI0LjRjMTQuMy05LjIsMzQtMTUuMSw1My0xNS4xYzQxLjYsMCw0Ni4yLDMwLjIsNDYuMiw0N3Y0LjIgYy03OC42LTAuNC0xMjIuMywyNi41LTEyMi4zLDc1LjZjMCwyOS40LDIxLDU4LjQsNjIuMiw1OC40YzI5LDAsNTAuOS0xNC4zLDYyLjItMzAuMmgxLjNsMi45LDI1LjZIMTYwNC44eiBNMTU2NS43LDI1Ny43IGMwLDMuOC0wLjgsOC0yLjEsMTEuOGMtNS45LDE3LjItMjIuNywzNC00OS4yLDM0Yy0xOC45LDAtMzQuOS0xMS4zLTM0LjktMzUuM2MwLTM5LjUsNDUuOC00Ni42LDg2LjItNDUuOFYyNTcuN3ogTTE2OTguNSwzMjYuMiBsMS43LTMzLjZoMS4zYzE1LjEsMjYuOSwzOC43LDM4LjIsNjguMSwzOC4yYzQ1LjQsMCw5MS4yLTM2LjEsOTEuMi0xMDguOGMwLjQtNjEuNy0zNS4zLTEwMy43LTg1LjctMTAzLjcgYy0zMi44LDAtNTYuMywxNC43LTY5LjMsMzcuNGgtMC44VjI4aC0zNi42djI0NS43YzAsMTguMS0wLjgsMzguNi0xLjcsNTIuNUgxNjk4LjV6IE0xNzA0LjgsMjA4LjJjMC01LjksMS4zLTEwLjksMi4xLTE1LjEgYzcuNi0yOC4xLDMxLjEtNDUuNCw1Ni4zLTQ1LjRjMzkuNSwwLDYwLjUsMzQuOSw2MC41LDc1LjZjMCw0Ni42LTIzLjEsNzguMS02MS44LDc4LjFjLTI2LjksMC00OC4zLTE3LjYtNTUuNS00My4zIGMtMC44LTQuMi0xLjctOC44LTEuNy0xMy40VjIwOC4yeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzYxNjE2MSIgZD0iTTE1IDlIOXY2aDZWOXptLTIgNGgtMnYtMmgydjJ6bTgtMlY5aC0yVjdjMC0xLjEtLjktMi0yLTJoLTJWM2gtMnYyaC0yVjNIOXYySDdjLTEuMSAwLTIgLjktMiAydjJIM3YyaDJ2MkgzdjJoMnYyYzAgMS4xLjkgMiAyIDJoMnYyaDJ2LTJoMnYyaDJ2LTJoMmMxLjEgMCAyLS45IDItMnYtMmgydi0yaC0ydi0yaDJ6bS00IDZIN1Y3aDEwdjEweiIvPgo8L3N2Zz4K);
  --jp-icon-keyboard: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMjAgNUg0Yy0xLjEgMC0xLjk5LjktMS45OSAyTDIgMTdjMCAxLjEuOSAyIDIgMmgxNmMxLjEgMCAyLS45IDItMlY3YzAtMS4xLS45LTItMi0yem0tOSAzaDJ2MmgtMlY4em0wIDNoMnYyaC0ydi0yek04IDhoMnYySDhWOHptMCAzaDJ2Mkg4di0yem0tMSAySDV2LTJoMnYyem0wLTNINVY4aDJ2MnptOSA3SDh2LTJoOHYyem0wLTRoLTJ2LTJoMnYyem0wLTNoLTJWOGgydjJ6bTMgM2gtMnYtMmgydjJ6bTAtM2gtMlY4aDJ2MnoiLz4KPC9zdmc+Cg==);
  --jp-icon-launch: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMzIgMzIiIHdpZHRoPSIzMiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik0yNiwyOEg2YTIuMDAyNywyLjAwMjcsMCwwLDEtMi0yVjZBMi4wMDI3LDIuMDAyNywwLDAsMSw2LDRIMTZWNkg2VjI2SDI2VjE2aDJWMjZBMi4wMDI3LDIuMDAyNywwLDAsMSwyNiwyOFoiLz4KICAgIDxwb2x5Z29uIHBvaW50cz0iMjAgMiAyMCA0IDI2LjU4NiA0IDE4IDEyLjU4NiAxOS40MTQgMTQgMjggNS40MTQgMjggMTIgMzAgMTIgMzAgMiAyMCAyIi8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-launcher: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkgMTlINVY1aDdWM0g1YTIgMiAwIDAwLTIgMnYxNGEyIDIgMCAwMDIgMmgxNGMxLjEgMCAyLS45IDItMnYtN2gtMnY3ek0xNCAzdjJoMy41OWwtOS44MyA5LjgzIDEuNDEgMS40MUwxOSA2LjQxVjEwaDJWM2gtN3oiLz4KPC9zdmc+Cg==);
  --jp-icon-line-form: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGZpbGw9IndoaXRlIiBkPSJNNS44OCA0LjEyTDEzLjc2IDEybC03Ljg4IDcuODhMOCAyMmwxMC0xMEw4IDJ6Ii8+Cjwvc3ZnPgo=);
  --jp-icon-link: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTMuOSAxMmMwLTEuNzEgMS4zOS0zLjEgMy4xLTMuMWg0VjdIN2MtMi43NiAwLTUgMi4yNC01IDVzMi4yNCA1IDUgNWg0di0xLjlIN2MtMS43MSAwLTMuMS0xLjM5LTMuMS0zLjF6TTggMTNoOHYtMkg4djJ6bTktNmgtNHYxLjloNGMxLjcxIDAgMy4xIDEuMzkgMy4xIDMuMXMtMS4zOSAzLjEtMy4xIDMuMWgtNFYxN2g0YzIuNzYgMCA1LTIuMjQgNS01cy0yLjI0LTUtNS01eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-list: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xOSA1djE0SDVWNWgxNG0xLjEtMkgzLjljLS41IDAtLjkuNC0uOS45djE2LjJjMCAuNC40LjkuOS45aDE2LjJjLjQgMCAuOS0uNS45LS45VjMuOWMwLS41LS41LS45LS45LS45ek0xMSA3aDZ2MmgtNlY3em0wIDRoNnYyaC02di0yem0wIDRoNnYyaC02ek03IDdoMnYySDd6bTAgNGgydjJIN3ptMCA0aDJ2Mkg3eiIvPgo8L3N2Zz4K);
  --jp-icon-markdown: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDAganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjN0IxRkEyIiBkPSJNNSAxNC45aDEybC02LjEgNnptOS40LTYuOGMwLTEuMy0uMS0yLjktLjEtNC41LS40IDEuNC0uOSAyLjktMS4zIDQuM2wtMS4zIDQuM2gtMkw4LjUgNy45Yy0uNC0xLjMtLjctMi45LTEtNC4zLS4xIDEuNi0uMSAzLjItLjIgNC42TDcgMTIuNEg0LjhsLjctMTFoMy4zTDEwIDVjLjQgMS4yLjcgMi43IDEgMy45LjMtMS4yLjctMi42IDEtMy45bDEuMi0zLjdoMy4zbC42IDExaC0yLjRsLS4zLTQuMnoiLz4KPC9zdmc+Cg==);
  --jp-icon-move-down: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMTIuNDcxIDcuNTI4OTlDMTIuNzYzMiA3LjIzNjg0IDEyLjc2MzIgNi43NjMxNiAxMi40NzEgNi40NzEwMVY2LjQ3MTAxQzEyLjE3OSA2LjE3OTA1IDExLjcwNTcgNi4xNzg4NCAxMS40MTM1IDYuNDcwNTRMNy43NSAxMC4xMjc1VjEuNzVDNy43NSAxLjMzNTc5IDcuNDE0MjEgMSA3IDFWMUM2LjU4NTc5IDEgNi4yNSAxLjMzNTc5IDYuMjUgMS43NVYxMC4xMjc1TDIuNTk3MjYgNi40NjgyMkMyLjMwMzM4IDYuMTczODEgMS44MjY0MSA2LjE3MzU5IDEuNTMyMjYgNi40Njc3NFY2LjQ2Nzc0QzEuMjM4MyA2Ljc2MTcgMS4yMzgzIDcuMjM4MyAxLjUzMjI2IDcuNTMyMjZMNi4yOTI4OSAxMi4yOTI5QzYuNjgzNDIgMTIuNjgzNCA3LjMxNjU4IDEyLjY4MzQgNy43MDcxMSAxMi4yOTI5TDEyLjQ3MSA3LjUyODk5WiIgZmlsbD0iIzYxNjE2MSIvPgo8L3N2Zz4K);
  --jp-icon-move-up: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggY2xhc3M9ImpwLWljb24zIiBkPSJNMS41Mjg5OSA2LjQ3MTAxQzEuMjM2ODQgNi43NjMxNiAxLjIzNjg0IDcuMjM2ODQgMS41Mjg5OSA3LjUyODk5VjcuNTI4OTlDMS44MjA5NSA3LjgyMDk1IDIuMjk0MjYgNy44MjExNiAyLjU4NjQ5IDcuNTI5NDZMNi4yNSAzLjg3MjVWMTIuMjVDNi4yNSAxMi42NjQyIDYuNTg1NzkgMTMgNyAxM1YxM0M3LjQxNDIxIDEzIDcuNzUgMTIuNjY0MiA3Ljc1IDEyLjI1VjMuODcyNUwxMS40MDI3IDcuNTMxNzhDMTEuNjk2NiA3LjgyNjE5IDEyLjE3MzYgNy44MjY0MSAxMi40Njc3IDcuNTMyMjZWNy41MzIyNkMxMi43NjE3IDcuMjM4MyAxMi43NjE3IDYuNzYxNyAxMi40Njc3IDYuNDY3NzRMNy43MDcxMSAxLjcwNzExQzcuMzE2NTggMS4zMTY1OCA2LjY4MzQyIDEuMzE2NTggNi4yOTI4OSAxLjcwNzExTDEuNTI4OTkgNi40NzEwMVoiIGZpbGw9IiM2MTYxNjEiLz4KPC9zdmc+Cg==);
  --jp-icon-new-folder: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIwIDZoLThsLTItMkg0Yy0xLjExIDAtMS45OS44OS0xLjk5IDJMMiAxOGMwIDEuMTEuODkgMiAyIDJoMTZjMS4xMSAwIDItLjg5IDItMlY4YzAtMS4xMS0uODktMi0yLTJ6bS0xIDhoLTN2M2gtMnYtM2gtM3YtMmgzVjloMnYzaDN2MnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-not-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI1IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMTkgMTcuMTg0NCAyLjk2OTY4IDE0LjMwMzIgMS44NjA5NCAxMS40NDA5WiIvPgogICAgPHBhdGggY2xhc3M9ImpwLWljb24yIiBzdHJva2U9IiMzMzMzMzMiIHN0cm9rZS13aWR0aD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS4zMTU5MiA5LjMyMDMxKSIgZD0iTTcuMzY4NDIgMEwwIDcuMzY0NzkiLz4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDkuMzE1OTIgMTYuNjgzNikgc2NhbGUoMSAtMSkiIGQ9Ik03LjM2ODQyIDBMMCA3LjM2NDc5Ii8+Cjwvc3ZnPgo=);
  --jp-icon-notebook: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtbm90ZWJvb2staWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiNFRjZDMDAiPgogICAgPHBhdGggZD0iTTE4LjcgMy4zdjE1LjRIMy4zVjMuM2gxNS40bTEuNS0xLjVIMS44djE4LjNoMTguM2wuMS0xOC4zeiIvPgogICAgPHBhdGggZD0iTTE2LjUgMTYuNWwtNS40LTQuMy01LjYgNC4zdi0xMWgxMXoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-numbering: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIiIGhlaWdodD0iMjIiIHZpZXdCb3g9IjAgMCAyOCAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTQgMTlINlYxOS41SDVWMjAuNUg2VjIxSDRWMjJIN1YxOEg0VjE5Wk01IDEwSDZWNkg0VjdINVYxMFpNNCAxM0g1LjhMNCAxNS4xVjE2SDdWMTVINS4yTDcgMTIuOVYxMkg0VjEzWk05IDdWOUgyM1Y3SDlaTTkgMjFIMjNWMTlIOVYyMVpNOSAxNUgyM1YxM0g5VjE1WiIvPgoJPC9nPgo8L3N2Zz4K);
  --jp-icon-offline-bolt: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyIDIuMDJjLTUuNTEgMC05Ljk4IDQuNDctOS45OCA5Ljk4czQuNDcgOS45OCA5Ljk4IDkuOTggOS45OC00LjQ3IDkuOTgtOS45OFMxNy41MSAyLjAyIDEyIDIuMDJ6TTExLjQ4IDIwdi02LjI2SDhMMTMgNHY2LjI2aDMuMzVMMTEuNDggMjB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-palette: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE4IDEzVjIwSDRWNkg5LjAyQzkuMDcgNS4yOSA5LjI0IDQuNjIgOS41IDRINEMyLjkgNCAyIDQuOSAyIDZWMjBDMiAyMS4xIDIuOSAyMiA0IDIySDE4QzE5LjEgMjIgMjAgMjEuMSAyMCAyMFYxNUwxOCAxM1pNMTkuMyA4Ljg5QzE5Ljc0IDguMTkgMjAgNy4zOCAyMCA2LjVDMjAgNC4wMSAxNy45OSAyIDE1LjUgMkMxMy4wMSAyIDExIDQuMDEgMTEgNi41QzExIDguOTkgMTMuMDEgMTEgMTUuNDkgMTFDMTYuMzcgMTEgMTcuMTkgMTAuNzQgMTcuODggMTAuM0wyMSAxMy40MkwyMi40MiAxMkwxOS4zIDguODlaTTE1LjUgOUMxNC4xMiA5IDEzIDcuODggMTMgNi41QzEzIDUuMTIgMTQuMTIgNCAxNS41IDRDMTYuODggNCAxOCA1LjEyIDE4IDYuNUMxOCA3Ljg4IDE2Ljg4IDkgMTUuNSA5WiIvPgogICAgPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik00IDZIOS4wMTg5NEM5LjAwNjM5IDYuMTY1MDIgOSA2LjMzMTc2IDkgNi41QzkgOC44MTU3NyAxMC4yMTEgMTAuODQ4NyAxMi4wMzQzIDEySDlWMTRIMTZWMTIuOTgxMUMxNi41NzAzIDEyLjkzNzcgMTcuMTIgMTIuODIwNyAxNy42Mzk2IDEyLjYzOTZMMTggMTNWMjBINFY2Wk04IDhINlYxMEg4VjhaTTYgMTJIOFYxNEg2VjEyWk04IDE2SDZWMThIOFYxNlpNOSAxNkgxNlYxOEg5VjE2WiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-paste: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE5IDJoLTQuMThDMTQuNC44NCAxMy4zIDAgMTIgMGMtMS4zIDAtMi40Ljg0LTIuODIgMkg1Yy0xLjEgMC0yIC45LTIgMnYxNmMwIDEuMS45IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6bS03IDBjLjU1IDAgMSAuNDUgMSAxcy0uNDUgMS0xIDEtMS0uNDUtMS0xIC40NS0xIDEtMXptNyAxOEg1VjRoMnYzaDEwVjRoMnYxNnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-pdf: url(data:image/svg+xml;base64,PHN2ZwogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMiAyMiIgd2lkdGg9IjE2Ij4KICAgIDxwYXRoIHRyYW5zZm9ybT0icm90YXRlKDQ1KSIgY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI0ZGMkEyQSIKICAgICAgIGQ9Im0gMjIuMzQ0MzY5LC0zLjAxNjM2NDIgaCA1LjYzODYwNCB2IDEuNTc5MjQzMyBoIC0zLjU0OTIyNyB2IDEuNTA4NjkyOTkgaCAzLjMzNzU3NiBWIDEuNjUwODE1NCBoIC0zLjMzNzU3NiB2IDMuNDM1MjYxMyBoIC0yLjA4OTM3NyB6IG0gLTcuMTM2NDQ0LDEuNTc5MjQzMyB2IDQuOTQzOTU0MyBoIDAuNzQ4OTIgcSAxLjI4MDc2MSwwIDEuOTUzNzAzLC0wLjYzNDk1MzUgMC42NzgzNjksLTAuNjM0OTUzNSAwLjY3ODM2OSwtMS44NDUxNjQxIDAsLTEuMjA0NzgzNTUgLTAuNjcyOTQyLC0xLjgzNDMxMDExIC0wLjY3Mjk0MiwtMC42Mjk1MjY1OSAtMS45NTkxMywtMC42Mjk1MjY1OSB6IG0gLTIuMDg5Mzc3LC0xLjU3OTI0MzMgaCAyLjIwMzM0MyBxIDEuODQ1MTY0LDAgMi43NDYwMzksMC4yNjU5MjA3IDAuOTA2MzAxLDAuMjYwNDkzNyAxLjU1MjEwOCwwLjg5MDAyMDMgMC41Njk4MywwLjU0ODEyMjMgMC44NDY2MDUsMS4yNjQ0ODAwNiAwLjI3Njc3NCwwLjcxNjM1NzgxIDAuMjc2Nzc0LDEuNjIyNjU4OTQgMCwwLjkxNzE1NTEgLTAuMjc2Nzc0LDEuNjM4OTM5OSAtMC4yNzY3NzUsMC43MTYzNTc4IC0wLjg0NjYwNSwxLjI2NDQ4IC0wLjY1MTIzNCwwLjYyOTUyNjYgLTEuNTYyOTYyLDAuODk1NDQ3MyAtMC45MTE3MjgsMC4yNjA0OTM3IC0yLjczNTE4NSwwLjI2MDQ5MzcgaCAtMi4yMDMzNDMgeiBtIC04LjE0NTg1NjUsMCBoIDMuNDY3ODIzIHEgMS41NDY2ODE2LDAgMi4zNzE1Nzg1LDAuNjg5MjIzIDAuODMwMzI0LDAuNjgzNzk2MSAwLjgzMDMyNCwxLjk1MzcwMzE0IDAsMS4yNzUzMzM5NyAtMC44MzAzMjQsMS45NjQ1NTcwNiBRIDkuOTg3MTk2MSwyLjI3NDkxNSA4LjQ0MDUxNDUsMi4yNzQ5MTUgSCA3LjA2MjA2ODQgViA1LjA4NjA3NjcgSCA0Ljk3MjY5MTUgWiBtIDIuMDg5Mzc2OSwxLjUxNDExOTkgdiAyLjI2MzAzOTQzIGggMS4xNTU5NDEgcSAwLjYwNzgxODgsMCAwLjkzODg2MjksLTAuMjkzMDU1NDcgMC4zMzEwNDQxLC0wLjI5ODQ4MjQxIDAuMzMxMDQ0MSwtMC44NDExNzc3MiAwLC0wLjU0MjY5NTMxIC0wLjMzMTA0NDEsLTAuODM1NzUwNzQgLTAuMzMxMDQ0MSwtMC4yOTMwNTU1IC0wLjkzODg2MjksLTAuMjkzMDU1NSB6IgovPgo8L3N2Zz4K);
  --jp-icon-python: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iLTEwIC0xMCAxMzEuMTYxMzYxNjk0MzM1OTQgMTMyLjM4ODk5OTkzODk2NDg0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMzA2OTk4IiBkPSJNIDU0LjkxODc4NSw5LjE5Mjc0MjFlLTQgQyA1MC4zMzUxMzIsMC4wMjIyMTcyNyA0NS45NTc4NDYsMC40MTMxMzY5NyA0Mi4xMDYyODUsMS4wOTQ2NjkzIDMwLjc2MDA2OSwzLjA5OTE3MzEgMjguNzAwMDM2LDcuMjk0NzcxNCAyOC43MDAwMzUsMTUuMDMyMTY5IHYgMTAuMjE4NzUgaCAyNi44MTI1IHYgMy40MDYyNSBoIC0yNi44MTI1IC0xMC4wNjI1IGMgLTcuNzkyNDU5LDAgLTE0LjYxNTc1ODgsNC42ODM3MTcgLTE2Ljc0OTk5OTgsMTMuNTkzNzUgLTIuNDYxODE5OTgsMTAuMjEyOTY2IC0yLjU3MTAxNTA4LDE2LjU4NjAyMyAwLDI3LjI1IDEuOTA1OTI4Myw3LjkzNzg1MiA2LjQ1NzU0MzIsMTMuNTkzNzQ4IDE0LjI0OTk5OTgsMTMuNTkzNzUgaCA5LjIxODc1IHYgLTEyLjI1IGMgMCwtOC44NDk5MDIgNy42NTcxNDQsLTE2LjY1NjI0OCAxNi43NSwtMTYuNjU2MjUgaCAyNi43ODEyNSBjIDcuNDU0OTUxLDAgMTMuNDA2MjUzLC02LjEzODE2NCAxMy40MDYyNSwtMTMuNjI1IHYgLTI1LjUzMTI1IGMgMCwtNy4yNjYzMzg2IC02LjEyOTk4LC0xMi43MjQ3NzcxIC0xMy40MDYyNSwtMTMuOTM3NDk5NyBDIDY0LjI4MTU0OCwwLjMyNzk0Mzk3IDU5LjUwMjQzOCwtMC4wMjAzNzkwMyA1NC45MTg3ODUsOS4xOTI3NDIxZS00IFogbSAtMTQuNSw4LjIxODc1MDEyNTc5IGMgMi43Njk1NDcsMCA1LjAzMTI1LDIuMjk4NjQ1NiA1LjAzMTI1LDUuMTI0OTk5NiAtMmUtNiwyLjgxNjMzNiAtMi4yNjE3MDMsNS4wOTM3NSAtNS4wMzEyNSw1LjA5Mzc1IC0yLjc3OTQ3NiwtMWUtNiAtNS4wMzEyNSwtMi4yNzc0MTUgLTUuMDMxMjUsLTUuMDkzNzUgLTEwZS03LC0yLjgyNjM1MyAyLjI1MTc3NCwtNS4xMjQ5OTk2IDUuMDMxMjUsLTUuMTI0OTk5NiB6Ii8+CiAgPHBhdGggY2xhc3M9ImpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iI2ZmZDQzYiIgZD0ibSA4NS42Mzc1MzUsMjguNjU3MTY5IHYgMTEuOTA2MjUgYyAwLDkuMjMwNzU1IC03LjgyNTg5NSwxNi45OTk5OTkgLTE2Ljc1LDE3IGggLTI2Ljc4MTI1IGMgLTcuMzM1ODMzLDAgLTEzLjQwNjI0OSw2LjI3ODQ4MyAtMTMuNDA2MjUsMTMuNjI1IHYgMjUuNTMxMjQ3IGMgMCw3LjI2NjM0NCA2LjMxODU4OCwxMS41NDAzMjQgMTMuNDA2MjUsMTMuNjI1MDA0IDguNDg3MzMxLDIuNDk1NjEgMTYuNjI2MjM3LDIuOTQ2NjMgMjYuNzgxMjUsMCA2Ljc1MDE1NSwtMS45NTQzOSAxMy40MDYyNTMsLTUuODg3NjEgMTMuNDA2MjUsLTEzLjYyNTAwNCBWIDg2LjUwMDkxOSBoIC0yNi43ODEyNSB2IC0zLjQwNjI1IGggMjYuNzgxMjUgMTMuNDA2MjU0IGMgNy43OTI0NjEsMCAxMC42OTYyNTEsLTUuNDM1NDA4IDEzLjQwNjI0MSwtMTMuNTkzNzUgMi43OTkzMywtOC4zOTg4ODYgMi42ODAyMiwtMTYuNDc1Nzc2IDAsLTI3LjI1IC0xLjkyNTc4LC03Ljc1NzQ0MSAtNS42MDM4NywtMTMuNTkzNzUgLTEzLjQwNjI0MSwtMTMuNTkzNzUgeiBtIC0xNS4wNjI1LDY0LjY1NjI1IGMgMi43Nzk0NzgsM2UtNiA1LjAzMTI1LDIuMjc3NDE3IDUuMDMxMjUsNS4wOTM3NDcgLTJlLTYsMi44MjYzNTQgLTIuMjUxNzc1LDUuMTI1MDA0IC01LjAzMTI1LDUuMTI1MDA0IC0yLjc2OTU1LDAgLTUuMDMxMjUsLTIuMjk4NjUgLTUuMDMxMjUsLTUuMTI1MDA0IDJlLTYsLTIuODE2MzMgMi4yNjE2OTcsLTUuMDkzNzQ3IDUuMDMxMjUsLTUuMDkzNzQ3IHoiLz4KPC9zdmc+Cg==);
  --jp-icon-r-kernel: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjE5NkYzIiBkPSJNNC40IDIuNWMxLjItLjEgMi45LS4zIDQuOS0uMyAyLjUgMCA0LjEuNCA1LjIgMS4zIDEgLjcgMS41IDEuOSAxLjUgMy41IDAgMi0xLjQgMy41LTIuOSA0LjEgMS4yLjQgMS43IDEuNiAyLjIgMyAuNiAxLjkgMSAzLjkgMS4zIDQuNmgtMy44Yy0uMy0uNC0uOC0xLjctMS4yLTMuN3MtMS4yLTIuNi0yLjYtMi42aC0uOXY2LjRINC40VjIuNXptMy43IDYuOWgxLjRjMS45IDAgMi45LS45IDIuOS0yLjNzLTEtMi4zLTIuOC0yLjNjLS43IDAtMS4zIDAtMS42LjJ2NC41aC4xdi0uMXoiLz4KPC9zdmc+Cg==);
  --jp-icon-react: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMTUwIDE1MCA1NDEuOSAyOTUuMyI+CiAgPGcgY2xhc3M9ImpwLWljb24tYnJhbmQyIGpwLWljb24tc2VsZWN0YWJsZSIgZmlsbD0iIzYxREFGQiI+CiAgICA8cGF0aCBkPSJNNjY2LjMgMjk2LjVjMC0zMi41LTQwLjctNjMuMy0xMDMuMS04Mi40IDE0LjQtNjMuNiA4LTExNC4yLTIwLjItMTMwLjQtNi41LTMuOC0xNC4xLTUuNi0yMi40LTUuNnYyMi4zYzQuNiAwIDguMy45IDExLjQgMi42IDEzLjYgNy44IDE5LjUgMzcuNSAxNC45IDc1LjctMS4xIDkuNC0yLjkgMTkuMy01LjEgMjkuNC0xOS42LTQuOC00MS04LjUtNjMuNS0xMC45LTEzLjUtMTguNS0yNy41LTM1LjMtNDEuNi01MCAzMi42LTMwLjMgNjMuMi00Ni45IDg0LTQ2LjlWNzhjLTI3LjUgMC02My41IDE5LjYtOTkuOSA1My42LTM2LjQtMzMuOC03Mi40LTUzLjItOTkuOS01My4ydjIyLjNjMjAuNyAwIDUxLjQgMTYuNSA4NCA0Ni42LTE0IDE0LjctMjggMzEuNC00MS4zIDQ5LjktMjIuNiAyLjQtNDQgNi4xLTYzLjYgMTEtMi4zLTEwLTQtMTkuNy01LjItMjktNC43LTM4LjIgMS4xLTY3LjkgMTQuNi03NS44IDMtMS44IDYuOS0yLjYgMTEuNS0yLjZWNzguNWMtOC40IDAtMTYgMS44LTIyLjYgNS42LTI4LjEgMTYuMi0zNC40IDY2LjctMTkuOSAxMzAuMS02Mi4yIDE5LjItMTAyLjcgNDkuOS0xMDIuNyA4Mi4zIDAgMzIuNSA0MC43IDYzLjMgMTAzLjEgODIuNC0xNC40IDYzLjYtOCAxMTQuMiAyMC4yIDEzMC40IDYuNSAzLjggMTQuMSA1LjYgMjIuNSA1LjYgMjcuNSAwIDYzLjUtMTkuNiA5OS45LTUzLjYgMzYuNCAzMy44IDcyLjQgNTMuMiA5OS45IDUzLjIgOC40IDAgMTYtMS44IDIyLjYtNS42IDI4LjEtMTYuMiAzNC40LTY2LjcgMTkuOS0xMzAuMSA2Mi0xOS4xIDEwMi41LTQ5LjkgMTAyLjUtODIuM3ptLTEzMC4yLTY2LjdjLTMuNyAxMi45LTguMyAyNi4yLTEzLjUgMzkuNS00LjEtOC04LjQtMTYtMTMuMS0yNC00LjYtOC05LjUtMTUuOC0xNC40LTIzLjQgMTQuMiAyLjEgMjcuOSA0LjcgNDEgNy45em0tNDUuOCAxMDYuNWMtNy44IDEzLjUtMTUuOCAyNi4zLTI0LjEgMzguMi0xNC45IDEuMy0zMCAyLTQ1LjIgMi0xNS4xIDAtMzAuMi0uNy00NS0xLjktOC4zLTExLjktMTYuNC0yNC42LTI0LjItMzgtNy42LTEzLjEtMTQuNS0yNi40LTIwLjgtMzkuOCA2LjItMTMuNCAxMy4yLTI2LjggMjAuNy0zOS45IDcuOC0xMy41IDE1LjgtMjYuMyAyNC4xLTM4LjIgMTQuOS0xLjMgMzAtMiA0NS4yLTIgMTUuMSAwIDMwLjIuNyA0NSAxLjkgOC4zIDExLjkgMTYuNCAyNC42IDI0LjIgMzggNy42IDEzLjEgMTQuNSAyNi40IDIwLjggMzkuOC02LjMgMTMuNC0xMy4yIDI2LjgtMjAuNyAzOS45em0zMi4zLTEzYzUuNCAxMy40IDEwIDI2LjggMTMuOCAzOS44LTEzLjEgMy4yLTI2LjkgNS45LTQxLjIgOCA0LjktNy43IDkuOC0xNS42IDE0LjQtMjMuNyA0LjYtOCA4LjktMTYuMSAxMy0yNC4xek00MjEuMiA0MzBjLTkuMy05LjYtMTguNi0yMC4zLTI3LjgtMzIgOSAuNCAxOC4yLjcgMjcuNS43IDkuNCAwIDE4LjctLjIgMjcuOC0uNy05IDExLjctMTguMyAyMi40LTI3LjUgMzJ6bS03NC40LTU4LjljLTE0LjItMi4xLTI3LjktNC43LTQxLTcuOSAzLjctMTIuOSA4LjMtMjYuMiAxMy41LTM5LjUgNC4xIDggOC40IDE2IDEzLjEgMjQgNC43IDggOS41IDE1LjggMTQuNCAyMy40ek00MjAuNyAxNjNjOS4zIDkuNiAxOC42IDIwLjMgMjcuOCAzMi05LS40LTE4LjItLjctMjcuNS0uNy05LjQgMC0xOC43LjItMjcuOC43IDktMTEuNyAxOC4zLTIyLjQgMjcuNS0zMnptLTc0IDU4LjljLTQuOSA3LjctOS44IDE1LjYtMTQuNCAyMy43LTQuNiA4LTguOSAxNi0xMyAyNC01LjQtMTMuNC0xMC0yNi44LTEzLjgtMzkuOCAxMy4xLTMuMSAyNi45LTUuOCA0MS4yLTcuOXptLTkwLjUgMTI1LjJjLTM1LjQtMTUuMS01OC4zLTM0LjktNTguMy01MC42IDAtMTUuNyAyMi45LTM1LjYgNTguMy01MC42IDguNi0zLjcgMTgtNyAyNy43LTEwLjEgNS43IDE5LjYgMTMuMiA0MCAyMi41IDYwLjktOS4yIDIwLjgtMTYuNiA0MS4xLTIyLjIgNjAuNi05LjktMy4xLTE5LjMtNi41LTI4LTEwLjJ6TTMxMCA0OTBjLTEzLjYtNy44LTE5LjUtMzcuNS0xNC45LTc1LjcgMS4xLTkuNCAyLjktMTkuMyA1LjEtMjkuNCAxOS42IDQuOCA0MSA4LjUgNjMuNSAxMC45IDEzLjUgMTguNSAyNy41IDM1LjMgNDEuNiA1MC0zMi42IDMwLjMtNjMuMiA0Ni45LTg0IDQ2LjktNC41LS4xLTguMy0xLTExLjMtMi43em0yMzcuMi03Ni4yYzQuNyAzOC4yLTEuMSA2Ny45LTE0LjYgNzUuOC0zIDEuOC02LjkgMi42LTExLjUgMi42LTIwLjcgMC01MS40LTE2LjUtODQtNDYuNiAxNC0xNC43IDI4LTMxLjQgNDEuMy00OS45IDIyLjYtMi40IDQ0LTYuMSA2My42LTExIDIuMyAxMC4xIDQuMSAxOS44IDUuMiAyOS4xem0zOC41LTY2LjdjLTguNiAzLjctMTggNy0yNy43IDEwLjEtNS43LTE5LjYtMTMuMi00MC0yMi41LTYwLjkgOS4yLTIwLjggMTYuNi00MS4xIDIyLjItNjAuNiA5LjkgMy4xIDE5LjMgNi41IDI4LjEgMTAuMiAzNS40IDE1LjEgNTguMyAzNC45IDU4LjMgNTAuNi0uMSAxNS43LTIzIDM1LjYtNTguNCA1MC42ek0zMjAuOCA3OC40eiIvPgogICAgPGNpcmNsZSBjeD0iNDIwLjkiIGN5PSIyOTYuNSIgcj0iNDUuNyIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-redo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjE2Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgICA8cGF0aCBkPSJNMCAwaDI0djI0SDB6IiBmaWxsPSJub25lIi8+PHBhdGggZD0iTTE4LjQgMTAuNkMxNi41NSA4Ljk5IDE0LjE1IDggMTEuNSA4Yy00LjY1IDAtOC41OCAzLjAzLTkuOTYgNy4yMkwzLjkgMTZjMS4wNS0zLjE5IDQuMDUtNS41IDcuNi01LjUgMS45NSAwIDMuNzMuNzIgNS4xMiAxLjg4TDEzIDE2aDlWN2wtMy42IDMuNnoiLz4KICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-refresh: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDE4IDE4Ij4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTkgMTMuNWMtMi40OSAwLTQuNS0yLjAxLTQuNS00LjVTNi41MSA0LjUgOSA0LjVjMS4yNCAwIDIuMzYuNTIgMy4xNyAxLjMzTDEwIDhoNVYzbC0xLjc2IDEuNzZDMTIuMTUgMy42OCAxMC42NiAzIDkgMyA1LjY5IDMgMy4wMSA1LjY5IDMuMDEgOVM1LjY5IDE1IDkgMTVjMi45NyAwIDUuNDMtMi4xNiA1LjktNWgtMS41MmMtLjQ2IDItMi4yNCAzLjUtNC4zOCAzLjV6Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
  --jp-icon-regex: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KICA8ZyBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiM0MTQxNDEiPgogICAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiAgPC9nPgoKICA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiBmaWxsPSIjRkZGIj4KICAgIDxjaXJjbGUgY2xhc3M9InN0MiIgY3g9IjUuNSIgY3k9IjE0LjUiIHI9IjEuNSIvPgogICAgPHJlY3QgeD0iMTIiIHk9IjQiIGNsYXNzPSJzdDIiIHdpZHRoPSIxIiBoZWlnaHQ9IjgiLz4KICAgIDxyZWN0IHg9IjguNSIgeT0iNy41IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjg2NiAtMC41IDAuNSAwLjg2NiAtMi4zMjU1IDcuMzIxOSkiIGNsYXNzPSJzdDIiIHdpZHRoPSI4IiBoZWlnaHQ9IjEiLz4KICAgIDxyZWN0IHg9IjEyIiB5PSI0IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjUgLTAuODY2IDAuODY2IDAuNSAtMC42Nzc5IDE0LjgyNTIpIiBjbGFzcz0ic3QyIiB3aWR0aD0iMSIgaGVpZ2h0PSI4Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-run: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTggNXYxNGwxMS03eiIvPgogICAgPC9nPgo8L3N2Zz4K);
  --jp-icon-running: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDUxMiA1MTIiPgogIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICA8cGF0aCBkPSJNMjU2IDhDMTE5IDggOCAxMTkgOCAyNTZzMTExIDI0OCAyNDggMjQ4IDI0OC0xMTEgMjQ4LTI0OFMzOTMgOCAyNTYgOHptOTYgMzI4YzAgOC44LTcuMiAxNi0xNiAxNkgxNzZjLTguOCAwLTE2LTcuMi0xNi0xNlYxNzZjMC04LjggNy4yLTE2IDE2LTE2aDE2MGM4LjggMCAxNiA3LjIgMTYgMTZ2MTYweiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-save: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTE3IDNINWMtMS4xMSAwLTIgLjktMiAydjE0YzAgMS4xLjg5IDIgMiAyaDE0YzEuMSAwIDItLjkgMi0yVjdsLTQtNHptLTUgMTZjLTEuNjYgMC0zLTEuMzQtMy0zczEuMzQtMyAzLTMgMyAxLjM0IDMgMy0xLjM0IDMtMyAzem0zLTEwSDVWNWgxMHY0eiIvPgogICAgPC9nPgo8L3N2Zz4K);
  --jp-icon-search: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMTggMTgiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjEsMTAuOWgtMC43bC0wLjItMC4yYzAuOC0wLjksMS4zLTIuMiwxLjMtMy41YzAtMy0yLjQtNS40LTUuNC01LjRTMS44LDQuMiwxLjgsNy4xczIuNCw1LjQsNS40LDUuNCBjMS4zLDAsMi41LTAuNSwzLjUtMS4zbDAuMiwwLjJ2MC43bDQuMSw0LjFsMS4yLTEuMkwxMi4xLDEwLjl6IE03LjEsMTAuOWMtMi4xLDAtMy43LTEuNy0zLjctMy43czEuNy0zLjcsMy43LTMuN3MzLjcsMS43LDMuNywzLjcgUzkuMiwxMC45LDcuMSwxMC45eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-settings: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIiBkPSJNMTkuNDMgMTIuOThjLjA0LS4zMi4wNy0uNjQuMDctLjk4cy0uMDMtLjY2LS4wNy0uOThsMi4xMS0xLjY1Yy4xOS0uMTUuMjQtLjQyLjEyLS42NGwtMi0zLjQ2Yy0uMTItLjIyLS4zOS0uMy0uNjEtLjIybC0yLjQ5IDFjLS41Mi0uNC0xLjA4LS43My0xLjY5LS45OGwtLjM4LTIuNjVBLjQ4OC40ODggMCAwMDE0IDJoLTRjLS4yNSAwLS40Ni4xOC0uNDkuNDJsLS4zOCAyLjY1Yy0uNjEuMjUtMS4xNy41OS0xLjY5Ljk4bC0yLjQ5LTFjLS4yMy0uMDktLjQ5IDAtLjYxLjIybC0yIDMuNDZjLS4xMy4yMi0uMDcuNDkuMTIuNjRsMi4xMSAxLjY1Yy0uMDQuMzItLjA3LjY1LS4wNy45OHMuMDMuNjYuMDcuOThsLTIuMTEgMS42NWMtLjE5LjE1LS4yNC40Mi0uMTIuNjRsMiAzLjQ2Yy4xMi4yMi4zOS4zLjYxLjIybDIuNDktMWMuNTIuNCAxLjA4LjczIDEuNjkuOThsLjM4IDIuNjVjLjAzLjI0LjI0LjQyLjQ5LjQyaDRjLjI1IDAgLjQ2LS4xOC40OS0uNDJsLjM4LTIuNjVjLjYxLS4yNSAxLjE3LS41OSAxLjY5LS45OGwyLjQ5IDFjLjIzLjA5LjQ5IDAgLjYxLS4yMmwyLTMuNDZjLjEyLS4yMi4wNy0uNDktLjEyLS42NGwtMi4xMS0xLjY1ek0xMiAxNS41Yy0xLjkzIDAtMy41LTEuNTctMy41LTMuNXMxLjU3LTMuNSAzLjUtMy41IDMuNSAxLjU3IDMuNSAzLjUtMS41NyAzLjUtMy41IDMuNXoiLz4KPC9zdmc+Cg==);
  --jp-icon-share: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTSAxOCAyIEMgMTYuMzU0OTkgMiAxNSAzLjM1NDk5MDQgMTUgNSBDIDE1IDUuMTkwOTUyOSAxNS4wMjE3OTEgNS4zNzcxMjI0IDE1LjA1NjY0MSA1LjU1ODU5MzggTCA3LjkyMTg3NSA5LjcyMDcwMzEgQyA3LjM5ODUzOTkgOS4yNzc4NTM5IDYuNzMyMDc3MSA5IDYgOSBDIDQuMzU0OTkwNCA5IDMgMTAuMzU0OTkgMyAxMiBDIDMgMTMuNjQ1MDEgNC4zNTQ5OTA0IDE1IDYgMTUgQyA2LjczMjA3NzEgMTUgNy4zOTg1Mzk5IDE0LjcyMjE0NiA3LjkyMTg3NSAxNC4yNzkyOTcgTCAxNS4wNTY2NDEgMTguNDM5NDUzIEMgMTUuMDIxNTU1IDE4LjYyMTUxNCAxNSAxOC44MDgzODYgMTUgMTkgQyAxNSAyMC42NDUwMSAxNi4zNTQ5OSAyMiAxOCAyMiBDIDE5LjY0NTAxIDIyIDIxIDIwLjY0NTAxIDIxIDE5IEMgMjEgMTcuMzU0OTkgMTkuNjQ1MDEgMTYgMTggMTYgQyAxNy4yNjc0OCAxNiAxNi42MDE1OTMgMTYuMjc5MzI4IDE2LjA3ODEyNSAxNi43MjI2NTYgTCA4Ljk0MzM1OTQgMTIuNTU4NTk0IEMgOC45NzgyMDk1IDEyLjM3NzEyMiA5IDEyLjE5MDk1MyA5IDEyIEMgOSAxMS44MDkwNDcgOC45NzgyMDk1IDExLjYyMjg3OCA4Ljk0MzM1OTQgMTEuNDQxNDA2IEwgMTYuMDc4MTI1IDcuMjc5Mjk2OSBDIDE2LjYwMTQ2IDcuNzIyMTQ2MSAxNy4yNjc5MjMgOCAxOCA4IEMgMTkuNjQ1MDEgOCAyMSA2LjY0NTAwOTYgMjEgNSBDIDIxIDMuMzU0OTkwNCAxOS42NDUwMSAyIDE4IDIgeiBNIDE4IDQgQyAxOC41NjQxMjkgNCAxOSA0LjQzNTg3MDYgMTkgNSBDIDE5IDUuNTY0MTI5NCAxOC41NjQxMjkgNiAxOCA2IEMgMTcuNDM1ODcxIDYgMTcgNS41NjQxMjk0IDE3IDUgQyAxNyA0LjQzNTg3MDYgMTcuNDM1ODcxIDQgMTggNCB6IE0gNiAxMSBDIDYuNTY0MTI5NCAxMSA3IDExLjQzNTg3MSA3IDEyIEMgNyAxMi41NjQxMjkgNi41NjQxMjk0IDEzIDYgMTMgQyA1LjQzNTg3MDYgMTMgNSAxMi41NjQxMjkgNSAxMiBDIDUgMTEuNDM1ODcxIDUuNDM1ODcwNiAxMSA2IDExIHogTSAxOCAxOCBDIDE4LjU2NDEyOSAxOCAxOSAxOC40MzU4NzEgMTkgMTkgQyAxOSAxOS41NjQxMjkgMTguNTY0MTI5IDIwIDE4IDIwIEMgMTcuNDM1ODcxIDIwIDE3IDE5LjU2NDEyOSAxNyAxOSBDIDE3IDE4LjQzNTg3MSAxNy40MzU4NzEgMTggMTggMTggeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-spreadsheet: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8cGF0aCBjbGFzcz0ianAtaWNvbi1jb250cmFzdDEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNENBRjUwIiBkPSJNMi4yIDIuMnYxNy42aDE3LjZWMi4ySDIuMnptMTUuNCA3LjdoLTUuNVY0LjRoNS41djUuNXpNOS45IDQuNHY1LjVINC40VjQuNGg1LjV6bS01LjUgNy43aDUuNXY1LjVINC40di01LjV6bTcuNyA1LjV2LTUuNWg1LjV2NS41aC01LjV6Ii8+Cjwvc3ZnPgo=);
  --jp-icon-stop: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik02IDZoMTJ2MTJINnoiLz4KICAgIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-tab: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTIxIDNIM2MtMS4xIDAtMiAuOS0yIDJ2MTRjMCAxLjEuOSAyIDIgMmgxOGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDNWNWgxMHY0aDh2MTB6Ii8+CiAgPC9nPgo8L3N2Zz4K);
  --jp-icon-table-rows: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMSw4SDNWNGgxOFY4eiBNMjEsMTBIM3Y0aDE4VjEweiBNMjEsMTZIM3Y0aDE4VjE2eiIvPgogICAgPC9nPgo8L3N2Zz4K);
  --jp-icon-tag: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjgiIGhlaWdodD0iMjgiIHZpZXdCb3g9IjAgMCA0MyAyOCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KCTxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CgkJPHBhdGggZD0iTTI4LjgzMzIgMTIuMzM0TDMyLjk5OTggMTYuNTAwN0wzNy4xNjY1IDEyLjMzNEgyOC44MzMyWiIvPgoJCTxwYXRoIGQ9Ik0xNi4yMDk1IDIxLjYxMDRDMTUuNjg3MyAyMi4xMjk5IDE0Ljg0NDMgMjIuMTI5OSAxNC4zMjQ4IDIxLjYxMDRMNi45ODI5IDE0LjcyNDVDNi41NzI0IDE0LjMzOTQgNi4wODMxMyAxMy42MDk4IDYuMDQ3ODYgMTMuMDQ4MkM1Ljk1MzQ3IDExLjUyODggNi4wMjAwMiA4LjYxOTQ0IDYuMDY2MjEgNy4wNzY5NUM2LjA4MjgxIDYuNTE0NzcgNi41NTU0OCA2LjA0MzQ3IDcuMTE4MDQgNi4wMzA1NUM5LjA4ODYzIDUuOTg0NzMgMTMuMjYzOCA1LjkzNTc5IDEzLjY1MTggNi4zMjQyNUwyMS43MzY5IDEzLjYzOUMyMi4yNTYgMTQuMTU4NSAyMS43ODUxIDE1LjQ3MjQgMjEuMjYyIDE1Ljk5NDZMMTYuMjA5NSAyMS42MTA0Wk05Ljc3NTg1IDguMjY1QzkuMzM1NTEgNy44MjU2NiA4LjYyMzUxIDcuODI1NjYgOC4xODI4IDguMjY1QzcuNzQzNDYgOC43MDU3MSA3Ljc0MzQ2IDkuNDE3MzMgOC4xODI4IDkuODU2NjdDOC42MjM4MiAxMC4yOTY0IDkuMzM1ODIgMTAuMjk2NCA5Ljc3NTg1IDkuODU2NjdDMTAuMjE1NiA5LjQxNzMzIDEwLjIxNTYgOC43MDUzMyA5Ljc3NTg1IDguMjY1WiIvPgoJPC9nPgo8L3N2Zz4K);
  --jp-icon-terminal: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0IiA+CiAgICA8cmVjdCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1iYWNrZ3JvdW5kLWNvbG9yIGpwLWljb24tc2VsZWN0YWJsZSIgd2lkdGg9IjIwIiBoZWlnaHQ9IjIwIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgyIDIpIiBmaWxsPSIjMzMzMzMzIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtdGVybWluYWwtaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUtaW52ZXJzZSIgZD0iTTUuMDU2NjQgOC43NjE3MkM1LjA1NjY0IDguNTk3NjYgNS4wMzEyNSA4LjQ1MzEyIDQuOTgwNDcgOC4zMjgxMkM0LjkzMzU5IDguMTk5MjIgNC44NTU0NyA4LjA4MjAzIDQuNzQ2MDkgNy45NzY1NkM0LjY0MDYyIDcuODcxMDkgNC41IDcuNzc1MzkgNC4zMjQyMiA3LjY4OTQ1QzQuMTUyMzQgNy41OTk2MSAzLjk0MzM2IDcuNTExNzIgMy42OTcyNyA3LjQyNTc4QzMuMzAyNzMgNy4yODUxNiAyLjk0MzM2IDcuMTM2NzIgMi42MTkxNCA2Ljk4MDQ3QzIuMjk0OTIgNi44MjQyMiAyLjAxNzU4IDYuNjQyNTggMS43ODcxMSA2LjQzNTU1QzEuNTYwNTUgNi4yMjg1MiAxLjM4NDc3IDUuOTg4MjggMS4yNTk3NyA1LjcxNDg0QzEuMTM0NzcgNS40Mzc1IDEuMDcyMjcgNS4xMDkzOCAxLjA3MjI3IDQuNzMwNDdDMS4wNzIyNyA0LjM5ODQ0IDEuMTI4OTEgNC4wOTU3IDEuMjQyMTkgMy44MjIyN0MxLjM1NTQ3IDMuNTQ0OTIgMS41MTU2MiAzLjMwNDY5IDEuNzIyNjYgMy4xMDE1NkMxLjkyOTY5IDIuODk4NDQgMi4xNzk2OSAyLjczNDM3IDIuNDcyNjYgMi42MDkzOEMyLjc2NTYyIDIuNDg0MzggMy4wOTE4IDIuNDA0MyAzLjQ1MTE3IDIuMzY5MTRWMS4xMDkzOEg0LjM4ODY3VjIuMzgwODZDNC43NDAyMyAyLjQyNzczIDUuMDU2NjQgMi41MjM0NCA1LjMzNzg5IDIuNjY3OTdDNS42MTkxNCAyLjgxMjUgNS44NTc0MiAzLjAwMTk1IDYuMDUyNzMgMy4yMzYzM0M2LjI1MTk1IDMuNDY2OCA2LjQwNDMgMy43NDAyMyA2LjUwOTc3IDQuMDU2NjRDNi42MTkxNCA0LjM2OTE0IDYuNjczODMgNC43MjA3IDYuNjczODMgNS4xMTEzM0g1LjA0NDkyQzUuMDQ0OTIgNC42Mzg2NyA0LjkzNzUgNC4yODEyNSA0LjcyMjY2IDQuMDM5MDZDNC41MDc4MSAzLjc5Mjk3IDQuMjE2OCAzLjY2OTkyIDMuODQ5NjEgMy42Njk5MkMzLjY1MDM5IDMuNjY5OTIgMy40NzY1NiAzLjY5NzI3IDMuMzI4MTIgMy43NTE5NUMzLjE4MzU5IDMuODAyNzMgMy4wNjQ0NSAzLjg3Njk1IDIuOTcwNyAzLjk3NDYxQzIuODc2OTUgNC4wNjgzNiAyLjgwNjY0IDQuMTc5NjkgMi43NTk3NyA0LjMwODU5QzIuNzE2OCA0LjQzNzUgMi42OTUzMSA0LjU3ODEyIDIuNjk1MzEgNC43MzA0N0MyLjY5NTMxIDQuODgyODEgMi43MTY4IDUuMDE5NTMgMi43NTk3NyA1LjE0MDYyQzIuODA2NjQgNS4yNTc4MSAyLjg4MjgxIDUuMzY3MTkgMi45ODgyOCA1LjQ2ODc1QzMuMDk3NjYgNS41NzAzMSAzLjI0MDIzIDUuNjY3OTcgMy40MTYwMiA1Ljc2MTcyQzMuNTkxOCA1Ljg1MTU2IDMuODEwNTUgNS45NDMzNiA0LjA3MjI3IDYuMDM3MTFDNC40NjY4IDYuMTg1NTUgNC44MjQyMiA2LjMzOTg0IDUuMTQ0NTMgNi41QzUuNDY0ODQgNi42NTYyNSA1LjczODI4IDYuODM5ODQgNS45NjQ4NCA3LjA1MDc4QzYuMTk1MzEgNy4yNTc4MSA2LjM3MTA5IDcuNSA2LjQ5MjE5IDcuNzc3MzRDNi42MTcxOSA4LjA1MDc4IDYuNjc5NjkgOC4zNzUgNi42Nzk2OSA4Ljc1QzYuNjc5NjkgOS4wOTM3NSA2LjYyMzA1IDkuNDA0MyA2LjUwOTc3IDkuNjgxNjRDNi4zOTY0OCA5Ljk1NTA4IDYuMjM0MzggMTAuMTkxNCA2LjAyMzQ0IDEwLjM5MDZDNS44MTI1IDEwLjU4OTggNS41NTg1OSAxMC43NSA1LjI2MTcyIDEwLjg3MTFDNC45NjQ4NCAxMC45ODgzIDQuNjMyODEgMTEuMDY0NSA0LjI2NTYyIDExLjA5OTZWMTIuMjQ4SDMuMzMzOThWMTEuMDk5NkMzLjAwMTk1IDExLjA2ODQgMi42Nzk2OSAxMC45OTYxIDIuMzY3MTkgMTAuODgyOEMyLjA1NDY5IDEwLjc2NTYgMS43NzczNCAxMC41OTc3IDEuNTM1MTYgMTAuMzc4OUMxLjI5Njg4IDEwLjE2MDIgMS4xMDU0NyA5Ljg4NDc3IDAuOTYwOTM4IDkuNTUyNzNDMC44MTY0MDYgOS4yMTY4IDAuNzQ0MTQxIDguODE0NDUgMC43NDQxNDEgOC4zNDU3SDIuMzc4OTFDMi4zNzg5MSA4LjYyNjk1IDIuNDE5OTIgOC44NjMyOCAyLjUwMTk1IDkuMDU0NjlDMi41ODM5OCA5LjI0MjE5IDIuNjg5NDUgOS4zOTI1OCAyLjgxODM2IDkuNTA1ODZDMi45NTExNyA5LjYxNTIzIDMuMTAxNTYgOS42OTMzNiAzLjI2OTUzIDkuNzQwMjNDMy40Mzc1IDkuNzg3MTEgMy42MDkzOCA5LjgxMDU1IDMuNzg1MTYgOS44MTA1NUM0LjIwMzEyIDkuODEwNTUgNC41MTk1MyA5LjcxMjg5IDQuNzM0MzggOS41MTc1OEM0Ljk0OTIyIDkuMzIyMjcgNS4wNTY2NCA5LjA3MDMxIDUuMDU2NjQgOC43NjE3MlpNMTMuNDE4IDEyLjI3MTVIOC4wNzQyMlYxMUgxMy40MThWMTIuMjcxNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDMuOTUyNjQgNikiIGZpbGw9IndoaXRlIi8+Cjwvc3ZnPgo=);
  --jp-icon-text-editor: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8cGF0aCBjbGFzcz0ianAtdGV4dC1lZGl0b3ItaWNvbi1jb2xvciBqcC1pY29uLXNlbGVjdGFibGUiIGZpbGw9IiM2MTYxNjEiIGQ9Ik0xNSAxNUgzdjJoMTJ2LTJ6bTAtOEgzdjJoMTJWN3pNMyAxM2gxOHYtMkgzdjJ6bTAgOGgxOHYtMkgzdjJ6TTMgM3YyaDE4VjNIM3oiLz4KPC9zdmc+Cg==);
  --jp-icon-toc: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij4KICA8ZyBjbGFzcz0ianAtaWNvbjMganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjNjE2MTYxIj4KICAgIDxwYXRoIGQ9Ik03LDVIMjFWN0g3VjVNNywxM1YxMUgyMVYxM0g3TTQsNC41QTEuNSwxLjUgMCAwLDEgNS41LDZBMS41LDEuNSAwIDAsMSA0LDcuNUExLjUsMS41IDAgMCwxIDIuNSw2QTEuNSwxLjUgMCAwLDEgNCw0LjVNNCwxMC41QTEuNSwxLjUgMCAwLDEgNS41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMy41QTEuNSwxLjUgMCAwLDEgMi41LDEyQTEuNSwxLjUgMCAwLDEgNCwxMC41TTcsMTlWMTdIMjFWMTlIN000LDE2LjVBMS41LDEuNSAwIDAsMSA1LjUsMThBMS41LDEuNSAwIDAsMSA0LDE5LjVBMS41LDEuNSAwIDAsMSAyLjUsMThBMS41LDEuNSAwIDAsMSA0LDE2LjVaIiAvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-tree-view: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxnIGNsYXNzPSJqcC1pY29uMyIgZmlsbD0iIzYxNjE2MSI+CiAgICAgICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgogICAgICAgIDxwYXRoIGQ9Ik0yMiAxMVYzaC03djNIOVYzSDJ2OGg3VjhoMnYxMGg0djNoN3YtOGgtN3YzaC0yVjhoMnYzeiIvPgogICAgPC9nPgo8L3N2Zz4K);
  --jp-icon-trusted: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDI0IDI1Ij4KICAgIDxwYXRoIGNsYXNzPSJqcC1pY29uMiIgc3Ryb2tlPSIjMzMzMzMzIiBzdHJva2Utd2lkdGg9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIgMykiIGQ9Ik0xLjg2MDk0IDExLjQ0MDlDMC44MjY0NDggOC43NzAyNyAwLjg2Mzc3OSA2LjA1NzY0IDEuMjQ5MDcgNC4xOTkzMkMyLjQ4MjA2IDMuOTMzNDcgNC4wODA2OCAzLjQwMzQ3IDUuNjAxMDIgMi44NDQ5QzcuMjM1NDkgMi4yNDQ0IDguODU2NjYgMS41ODE1IDkuOTg3NiAxLjA5NTM5QzExLjA1OTcgMS41ODM0MSAxMi42MDk0IDIuMjQ0NCAxNC4yMTggMi44NDMzOUMxNS43NTAzIDMuNDEzOTQgMTcuMzk5NSAzLjk1MjU4IDE4Ljc1MzkgNC4yMTM4NUMxOS4xMzY0IDYuMDcxNzcgMTkuMTcwOSA4Ljc3NzIyIDE4LjEzOSAxMS40NDA5QzE3LjAzMDMgMTQuMzAzMiAxNC42NjY4IDE3LjE4NDQgOS45OTk5OSAxOC45MzU0QzUuMzMzMiAxNy4xODQ0IDIuOTY5NjggMTQuMzAzMiAxLjg2MDk0IDExLjQ0MDlaIi8+CiAgICA8cGF0aCBjbGFzcz0ianAtaWNvbjIiIGZpbGw9IiMzMzMzMzMiIHN0cm9rZT0iIzMzMzMzMyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOCA5Ljg2NzE5KSIgZD0iTTIuODYwMTUgNC44NjUzNUwwLjcyNjU0OSAyLjk5OTU5TDAgMy42MzA0NUwyLjg2MDE1IDYuMTMxNTdMOCAwLjYzMDg3Mkw3LjI3ODU3IDBMMi44NjAxNSA0Ljg2NTM1WiIvPgo8L3N2Zz4K);
  --jp-icon-undo: url(data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIxNiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTEyLjUgOGMtMi42NSAwLTUuMDUuOTktNi45IDIuNkwyIDd2OWg5bC0zLjYyLTMuNjJjMS4zOS0xLjE2IDMuMTYtMS44OCA1LjEyLTEuODggMy41NCAwIDYuNTUgMi4zMSA3LjYgNS41bDIuMzctLjc4QzIxLjA4IDExLjAzIDE3LjE1IDggMTIuNSA4eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-user: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZyBjbGFzcz0ianAtaWNvbjMiIGZpbGw9IiM2MTYxNjEiPgogICAgPHBhdGggZD0iTTE2IDdhNCA0IDAgMTEtOCAwIDQgNCAwIDAxOCAwek0xMiAxNGE3IDcgMCAwMC03IDdoMTRhNyA3IDAgMDAtNy03eiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-users: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDM2IDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgogPGcgY2xhc3M9ImpwLWljb24zIiB0cmFuc2Zvcm09Im1hdHJpeCgxLjczMjcgMCAwIDEuNzMyNyAtMy42MjgyIC4wOTk1NzcpIiBmaWxsPSIjNjE2MTYxIj4KICA8cGF0aCB0cmFuc2Zvcm09Im1hdHJpeCgxLjUsMCwwLDEuNSwwLC02KSIgZD0ibTEyLjE4NiA3LjUwOThjLTEuMDUzNSAwLTEuOTc1NyAwLjU2NjUtMi40Nzg1IDEuNDEwMiAwLjc1MDYxIDAuMzEyNzcgMS4zOTc0IDAuODI2NDggMS44NzMgMS40NzI3aDMuNDg2M2MwLTEuNTkyLTEuMjg4OS0yLjg4MjgtMi44ODA5LTIuODgyOHoiLz4KICA8cGF0aCBkPSJtMjAuNDY1IDIuMzg5NWEyLjE4ODUgMi4xODg1IDAgMCAxLTIuMTg4NCAyLjE4ODUgMi4xODg1IDIuMTg4NSAwIDAgMS0yLjE4ODUtMi4xODg1IDIuMTg4NSAyLjE4ODUgMCAwIDEgMi4xODg1LTIuMTg4NSAyLjE4ODUgMi4xODg1IDAgMCAxIDIuMTg4NCAyLjE4ODV6Ii8+CiAgPHBhdGggdHJhbnNmb3JtPSJtYXRyaXgoMS41LDAsMCwxLjUsMCwtNikiIGQ9Im0zLjU4OTggOC40MjE5Yy0xLjExMjYgMC0yLjAxMzcgMC45MDExMS0yLjAxMzcgMi4wMTM3aDIuODE0NWMwLjI2Nzk3LTAuMzczMDkgMC41OTA3LTAuNzA0MzUgMC45NTg5OC0wLjk3ODUyLTAuMzQ0MzMtMC42MTY4OC0xLjAwMzEtMS4wMzUyLTEuNzU5OC0xLjAzNTJ6Ii8+CiAgPHBhdGggZD0ibTYuOTE1NCA0LjYyM2ExLjUyOTQgMS41Mjk0IDAgMCAxLTEuNTI5NCAxLjUyOTQgMS41Mjk0IDEuNTI5NCAwIDAgMS0xLjUyOTQtMS41Mjk0IDEuNTI5NCAxLjUyOTQgMCAwIDEgMS41Mjk0LTEuNTI5NCAxLjUyOTQgMS41Mjk0IDAgMCAxIDEuNTI5NCAxLjUyOTR6Ii8+CiAgPHBhdGggZD0ibTYuMTM1IDEzLjUzNWMwLTMuMjM5MiAyLjYyNTktNS44NjUgNS44NjUtNS44NjUgMy4yMzkyIDAgNS44NjUgMi42MjU5IDUuODY1IDUuODY1eiIvPgogIDxjaXJjbGUgY3g9IjEyIiBjeT0iMy43Njg1IiByPSIyLjk2ODUiLz4KIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-vega: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbjEganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjMjEyMTIxIj4KICAgIDxwYXRoIGQ9Ik0xMC42IDUuNGwyLjItMy4ySDIuMnY3LjNsNC02LjZ6Ii8+CiAgICA8cGF0aCBkPSJNMTUuOCAyLjJsLTQuNCA2LjZMNyA2LjNsLTQuOCA4djUuNWgxNy42VjIuMmgtNHptLTcgMTUuNEg1LjV2LTQuNGgzLjN2NC40em00LjQgMEg5LjhWOS44aDMuNHY3Ljh6bTQuNCAwaC0zLjRWNi41aDMuNHYxMS4xeiIvPgogIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-word: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIwIDIwIj4KIDxnIGNsYXNzPSJqcC1pY29uMiIgZmlsbD0iIzQxNDE0MSI+CiAgPHJlY3QgeD0iMiIgeT0iMiIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ii8+CiA8L2c+CiA8ZyBjbGFzcz0ianAtaWNvbi1hY2NlbnQyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSguNDMgLjA0MDEpIiBmaWxsPSIjZmZmIj4KICA8cGF0aCBkPSJtNC4xNCA4Ljc2cTAuMDY4Mi0xLjg5IDIuNDItMS44OSAxLjE2IDAgMS42OCAwLjQyIDAuNTY3IDAuNDEgMC41NjcgMS4xNnYzLjQ3cTAgMC40NjIgMC41MTQgMC40NjIgMC4xMDMgMCAwLjItMC4wMjMxdjAuNzE0cS0wLjM5OSAwLjEwMy0wLjY1MSAwLjEwMy0wLjQ1MiAwLTAuNjkzLTAuMjItMC4yMzEtMC4yLTAuMjg0LTAuNjYyLTAuOTU2IDAuODcyLTIgMC44NzItMC45MDMgMC0xLjQ3LTAuNDcyLTAuNTI1LTAuNDcyLTAuNTI1LTEuMjYgMC0wLjI2MiAwLjA0NTItMC40NzIgMC4wNTY3LTAuMjIgMC4xMTYtMC4zNzggMC4wNjgyLTAuMTY4IDAuMjMxLTAuMzA0IDAuMTU4LTAuMTQ3IDAuMjYyLTAuMjQyIDAuMTE2LTAuMDkxNCAwLjM2OC0wLjE2OCAwLjI2Mi0wLjA5MTQgMC4zOTktMC4xMjYgMC4xMzYtMC4wNDUyIDAuNDcyLTAuMTAzIDAuMzM2LTAuMDU3OCAwLjUwNC0wLjA3OTggMC4xNTgtMC4wMjMxIDAuNTY3LTAuMDc5OCAwLjU1Ni0wLjA2ODIgMC43NzctMC4yMjEgMC4yMi0wLjE1MiAwLjIyLTAuNDQxdi0wLjI1MnEwLTAuNDMtMC4zNTctMC42NjItMC4zMzYtMC4yMzEtMC45NzYtMC4yMzEtMC42NjIgMC0wLjk5OCAwLjI2Mi0wLjMzNiAwLjI1Mi0wLjM5OSAwLjc5OHptMS44OSAzLjY4cTAuNzg4IDAgMS4yNi0wLjQxIDAuNTA0LTAuNDIgMC41MDQtMC45MDN2LTEuMDVxLTAuMjg0IDAuMTM2LTAuODYxIDAuMjMxLTAuNTY3IDAuMDkxNC0wLjk4NyAwLjE1OC0wLjQyIDAuMDY4Mi0wLjc2NiAwLjMyNi0wLjMzNiAwLjI1Mi0wLjMzNiAwLjcwNHQwLjMwNCAwLjcwNCAwLjg2MSAwLjI1MnoiIHN0cm9rZS13aWR0aD0iMS4wNSIvPgogIDxwYXRoIGQ9Im0xMCA0LjU2aDAuOTQ1djMuMTVxMC42NTEtMC45NzYgMS44OS0wLjk3NiAxLjE2IDAgMS44OSAwLjg0IDAuNjgyIDAuODQgMC42ODIgMi4zMSAwIDEuNDctMC43MDQgMi40Mi0wLjcwNCAwLjg4Mi0xLjg5IDAuODgyLTEuMjYgMC0xLjg5LTEuMDJ2MC43NjZoLTAuODV6bTIuNjIgMy4wNHEtMC43NDYgMC0xLjE2IDAuNjQtMC40NTIgMC42My0wLjQ1MiAxLjY4IDAgMS4wNSAwLjQ1MiAxLjY4dDEuMTYgMC42M3EwLjc3NyAwIDEuMjYtMC42MyAwLjQ5NC0wLjY0IDAuNDk0LTEuNjggMC0xLjA1LTAuNDcyLTEuNjgtMC40NjItMC42NC0xLjI2LTAuNjR6IiBzdHJva2Utd2lkdGg9IjEuMDUiLz4KICA8cGF0aCBkPSJtMi43MyAxNS44IDEzLjYgMC4wMDgxYzAuMDA2OSAwIDAtMi42IDAtMi42IDAtMC4wMDc4LTEuMTUgMC0xLjE1IDAtMC4wMDY5IDAtMC4wMDgzIDEuNS0wLjAwODMgMS41LTJlLTMgLTAuMDAxNC0xMS4zLTAuMDAxNC0xMS4zLTAuMDAxNGwtMC4wMDU5Mi0xLjVjMC0wLjAwNzgtMS4xNyAwLjAwMTMtMS4xNyAwLjAwMTN6IiBzdHJva2Utd2lkdGg9Ii45NzUiLz4KIDwvZz4KPC9zdmc+Cg==);
  --jp-icon-yaml: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgdmlld0JveD0iMCAwIDIyIDIyIj4KICA8ZyBjbGFzcz0ianAtaWNvbi1jb250cmFzdDIganAtaWNvbi1zZWxlY3RhYmxlIiBmaWxsPSIjRDgxQjYwIj4KICAgIDxwYXRoIGQ9Ik03LjIgMTguNnYtNS40TDMgNS42aDMuM2wxLjQgMy4xYy4zLjkuNiAxLjYgMSAyLjUuMy0uOC42LTEuNiAxLTIuNWwxLjQtMy4xaDMuNGwtNC40IDcuNnY1LjVsLTIuOS0uMXoiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxNi41IiByPSIyLjEiLz4KICAgIDxjaXJjbGUgY2xhc3M9InN0MCIgY3g9IjE3LjYiIGN5PSIxMSIgcj0iMi4xIi8+CiAgPC9nPgo8L3N2Zz4K);
}

/* Icon CSS class declarations */

.jp-AddAboveIcon {
  background-image: var(--jp-icon-add-above);
}

.jp-AddBelowIcon {
  background-image: var(--jp-icon-add-below);
}

.jp-AddIcon {
  background-image: var(--jp-icon-add);
}

.jp-BellIcon {
  background-image: var(--jp-icon-bell);
}

.jp-BugDotIcon {
  background-image: var(--jp-icon-bug-dot);
}

.jp-BugIcon {
  background-image: var(--jp-icon-bug);
}

.jp-BuildIcon {
  background-image: var(--jp-icon-build);
}

.jp-CaretDownEmptyIcon {
  background-image: var(--jp-icon-caret-down-empty);
}

.jp-CaretDownEmptyThinIcon {
  background-image: var(--jp-icon-caret-down-empty-thin);
}

.jp-CaretDownIcon {
  background-image: var(--jp-icon-caret-down);
}

.jp-CaretLeftIcon {
  background-image: var(--jp-icon-caret-left);
}

.jp-CaretRightIcon {
  background-image: var(--jp-icon-caret-right);
}

.jp-CaretUpEmptyThinIcon {
  background-image: var(--jp-icon-caret-up-empty-thin);
}

.jp-CaretUpIcon {
  background-image: var(--jp-icon-caret-up);
}

.jp-CaseSensitiveIcon {
  background-image: var(--jp-icon-case-sensitive);
}

.jp-CheckIcon {
  background-image: var(--jp-icon-check);
}

.jp-CircleEmptyIcon {
  background-image: var(--jp-icon-circle-empty);
}

.jp-CircleIcon {
  background-image: var(--jp-icon-circle);
}

.jp-ClearIcon {
  background-image: var(--jp-icon-clear);
}

.jp-CloseIcon {
  background-image: var(--jp-icon-close);
}

.jp-CodeCheckIcon {
  background-image: var(--jp-icon-code-check);
}

.jp-CodeIcon {
  background-image: var(--jp-icon-code);
}

.jp-CollapseAllIcon {
  background-image: var(--jp-icon-collapse-all);
}

.jp-ConsoleIcon {
  background-image: var(--jp-icon-console);
}

.jp-CopyIcon {
  background-image: var(--jp-icon-copy);
}

.jp-CopyrightIcon {
  background-image: var(--jp-icon-copyright);
}

.jp-CutIcon {
  background-image: var(--jp-icon-cut);
}

.jp-DeleteIcon {
  background-image: var(--jp-icon-delete);
}

.jp-DownloadIcon {
  background-image: var(--jp-icon-download);
}

.jp-DuplicateIcon {
  background-image: var(--jp-icon-duplicate);
}

.jp-EditIcon {
  background-image: var(--jp-icon-edit);
}

.jp-EllipsesIcon {
  background-image: var(--jp-icon-ellipses);
}

.jp-ErrorIcon {
  background-image: var(--jp-icon-error);
}

.jp-ExpandAllIcon {
  background-image: var(--jp-icon-expand-all);
}

.jp-ExtensionIcon {
  background-image: var(--jp-icon-extension);
}

.jp-FastForwardIcon {
  background-image: var(--jp-icon-fast-forward);
}

.jp-FileIcon {
  background-image: var(--jp-icon-file);
}

.jp-FileUploadIcon {
  background-image: var(--jp-icon-file-upload);
}

.jp-FilterDotIcon {
  background-image: var(--jp-icon-filter-dot);
}

.jp-FilterIcon {
  background-image: var(--jp-icon-filter);
}

.jp-FilterListIcon {
  background-image: var(--jp-icon-filter-list);
}

.jp-FolderFavoriteIcon {
  background-image: var(--jp-icon-folder-favorite);
}

.jp-FolderIcon {
  background-image: var(--jp-icon-folder);
}

.jp-HomeIcon {
  background-image: var(--jp-icon-home);
}

.jp-Html5Icon {
  background-image: var(--jp-icon-html5);
}

.jp-ImageIcon {
  background-image: var(--jp-icon-image);
}

.jp-InfoIcon {
  background-image: var(--jp-icon-info);
}

.jp-InspectorIcon {
  background-image: var(--jp-icon-inspector);
}

.jp-JsonIcon {
  background-image: var(--jp-icon-json);
}

.jp-JuliaIcon {
  background-image: var(--jp-icon-julia);
}

.jp-JupyterFaviconIcon {
  background-image: var(--jp-icon-jupyter-favicon);
}

.jp-JupyterIcon {
  background-image: var(--jp-icon-jupyter);
}

.jp-JupyterlabWordmarkIcon {
  background-image: var(--jp-icon-jupyterlab-wordmark);
}

.jp-KernelIcon {
  background-image: var(--jp-icon-kernel);
}

.jp-KeyboardIcon {
  background-image: var(--jp-icon-keyboard);
}

.jp-LaunchIcon {
  background-image: var(--jp-icon-launch);
}

.jp-LauncherIcon {
  background-image: var(--jp-icon-launcher);
}

.jp-LineFormIcon {
  background-image: var(--jp-icon-line-form);
}

.jp-LinkIcon {
  background-image: var(--jp-icon-link);
}

.jp-ListIcon {
  background-image: var(--jp-icon-list);
}

.jp-MarkdownIcon {
  background-image: var(--jp-icon-markdown);
}

.jp-MoveDownIcon {
  background-image: var(--jp-icon-move-down);
}

.jp-MoveUpIcon {
  background-image: var(--jp-icon-move-up);
}

.jp-NewFolderIcon {
  background-image: var(--jp-icon-new-folder);
}

.jp-NotTrustedIcon {
  background-image: var(--jp-icon-not-trusted);
}

.jp-NotebookIcon {
  background-image: var(--jp-icon-notebook);
}

.jp-NumberingIcon {
  background-image: var(--jp-icon-numbering);
}

.jp-OfflineBoltIcon {
  background-image: var(--jp-icon-offline-bolt);
}

.jp-PaletteIcon {
  background-image: var(--jp-icon-palette);
}

.jp-PasteIcon {
  background-image: var(--jp-icon-paste);
}

.jp-PdfIcon {
  background-image: var(--jp-icon-pdf);
}

.jp-PythonIcon {
  background-image: var(--jp-icon-python);
}

.jp-RKernelIcon {
  background-image: var(--jp-icon-r-kernel);
}

.jp-ReactIcon {
  background-image: var(--jp-icon-react);
}

.jp-RedoIcon {
  background-image: var(--jp-icon-redo);
}

.jp-RefreshIcon {
  background-image: var(--jp-icon-refresh);
}

.jp-RegexIcon {
  background-image: var(--jp-icon-regex);
}

.jp-RunIcon {
  background-image: var(--jp-icon-run);
}

.jp-RunningIcon {
  background-image: var(--jp-icon-running);
}

.jp-SaveIcon {
  background-image: var(--jp-icon-save);
}

.jp-SearchIcon {
  background-image: var(--jp-icon-search);
}

.jp-SettingsIcon {
  background-image: var(--jp-icon-settings);
}

.jp-ShareIcon {
  background-image: var(--jp-icon-share);
}

.jp-SpreadsheetIcon {
  background-image: var(--jp-icon-spreadsheet);
}

.jp-StopIcon {
  background-image: var(--jp-icon-stop);
}

.jp-TabIcon {
  background-image: var(--jp-icon-tab);
}

.jp-TableRowsIcon {
  background-image: var(--jp-icon-table-rows);
}

.jp-TagIcon {
  background-image: var(--jp-icon-tag);
}

.jp-TerminalIcon {
  background-image: var(--jp-icon-terminal);
}

.jp-TextEditorIcon {
  background-image: var(--jp-icon-text-editor);
}

.jp-TocIcon {
  background-image: var(--jp-icon-toc);
}

.jp-TreeViewIcon {
  background-image: var(--jp-icon-tree-view);
}

.jp-TrustedIcon {
  background-image: var(--jp-icon-trusted);
}

.jp-UndoIcon {
  background-image: var(--jp-icon-undo);
}

.jp-UserIcon {
  background-image: var(--jp-icon-user);
}

.jp-UsersIcon {
  background-image: var(--jp-icon-users);
}

.jp-VegaIcon {
  background-image: var(--jp-icon-vega);
}

.jp-WordIcon {
  background-image: var(--jp-icon-word);
}

.jp-YamlIcon {
  background-image: var(--jp-icon-yaml);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * (DEPRECATED) Support for consuming icons as CSS background images
 */

.jp-Icon,
.jp-MaterialIcon {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-cover {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

/**
 * (DEPRECATED) Support for specific CSS icon sizes
 */

.jp-Icon-16 {
  background-size: 16px;
  min-width: 16px;
  min-height: 16px;
}

.jp-Icon-18 {
  background-size: 18px;
  min-width: 18px;
  min-height: 18px;
}

.jp-Icon-20 {
  background-size: 20px;
  min-width: 20px;
  min-height: 20px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.lm-TabBar .lm-TabBar-addButton {
  align-items: center;
  display: flex;
  padding: 4px;
  padding-bottom: 5px;
  margin-right: 1px;
  background-color: var(--jp-layout-color2);
}

.lm-TabBar .lm-TabBar-addButton:hover {
  background-color: var(--jp-layout-color1);
}

.lm-DockPanel-tabBar .lm-TabBar-tab {
  width: var(--jp-private-horizontal-tab-width);
}

.lm-DockPanel-tabBar .lm-TabBar-content {
  flex: unset;
}

.lm-DockPanel-tabBar[data-orientation='horizontal'] {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for icons as inline SVG HTMLElements
 */

/* recolor the primary elements of an icon */
.jp-icon0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-accent0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-accent1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-accent2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-accent3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-accent4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-accent0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-accent1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-accent2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-accent3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-accent4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-none[fill] {
  fill: none;
}

.jp-icon-none[stroke] {
  stroke: none;
}

/* brand icon colors. Same for light and dark */
.jp-icon-brand0[fill] {
  fill: var(--jp-brand-color0);
}

.jp-icon-brand1[fill] {
  fill: var(--jp-brand-color1);
}

.jp-icon-brand2[fill] {
  fill: var(--jp-brand-color2);
}

.jp-icon-brand3[fill] {
  fill: var(--jp-brand-color3);
}

.jp-icon-brand4[fill] {
  fill: var(--jp-brand-color4);
}

.jp-icon-brand0[stroke] {
  stroke: var(--jp-brand-color0);
}

.jp-icon-brand1[stroke] {
  stroke: var(--jp-brand-color1);
}

.jp-icon-brand2[stroke] {
  stroke: var(--jp-brand-color2);
}

.jp-icon-brand3[stroke] {
  stroke: var(--jp-brand-color3);
}

.jp-icon-brand4[stroke] {
  stroke: var(--jp-brand-color4);
}

/* warn icon colors. Same for light and dark */
.jp-icon-warn0[fill] {
  fill: var(--jp-warn-color0);
}

.jp-icon-warn1[fill] {
  fill: var(--jp-warn-color1);
}

.jp-icon-warn2[fill] {
  fill: var(--jp-warn-color2);
}

.jp-icon-warn3[fill] {
  fill: var(--jp-warn-color3);
}

.jp-icon-warn0[stroke] {
  stroke: var(--jp-warn-color0);
}

.jp-icon-warn1[stroke] {
  stroke: var(--jp-warn-color1);
}

.jp-icon-warn2[stroke] {
  stroke: var(--jp-warn-color2);
}

.jp-icon-warn3[stroke] {
  stroke: var(--jp-warn-color3);
}

/* icon colors that contrast well with each other and most backgrounds */
.jp-icon-contrast0[fill] {
  fill: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[fill] {
  fill: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[fill] {
  fill: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[fill] {
  fill: var(--jp-icon-contrast-color3);
}

.jp-icon-contrast0[stroke] {
  stroke: var(--jp-icon-contrast-color0);
}

.jp-icon-contrast1[stroke] {
  stroke: var(--jp-icon-contrast-color1);
}

.jp-icon-contrast2[stroke] {
  stroke: var(--jp-icon-contrast-color2);
}

.jp-icon-contrast3[stroke] {
  stroke: var(--jp-icon-contrast-color3);
}

.jp-icon-dot[fill] {
  fill: var(--jp-warn-color0);
}

.jp-jupyter-icon-color[fill] {
  fill: var(--jp-jupyter-icon-color, var(--jp-warn-color0));
}

.jp-notebook-icon-color[fill] {
  fill: var(--jp-notebook-icon-color, var(--jp-warn-color0));
}

.jp-json-icon-color[fill] {
  fill: var(--jp-json-icon-color, var(--jp-warn-color1));
}

.jp-console-icon-color[fill] {
  fill: var(--jp-console-icon-color, white);
}

.jp-console-icon-background-color[fill] {
  fill: var(--jp-console-icon-background-color, var(--jp-brand-color1));
}

.jp-terminal-icon-color[fill] {
  fill: var(--jp-terminal-icon-color, var(--jp-layout-color2));
}

.jp-terminal-icon-background-color[fill] {
  fill: var(
    --jp-terminal-icon-background-color,
    var(--jp-inverse-layout-color2)
  );
}

.jp-text-editor-icon-color[fill] {
  fill: var(--jp-text-editor-icon-color, var(--jp-inverse-layout-color3));
}

.jp-inspector-icon-color[fill] {
  fill: var(--jp-inspector-icon-color, var(--jp-inverse-layout-color3));
}

/* CSS for icons in selected filebrowser listing items */
.jp-DirListing-item.jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

.jp-DirListing-item.jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* stylelint-disable selector-max-class, selector-max-compound-selectors */

/**
* TODO: come up with non css-hack solution for showing the busy icon on top
*  of the close icon
* CSS for complex behavior of close icon of tabs in the main area tabbar
*/
.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon3[fill] {
  fill: none;
}

.lm-DockPanel-tabBar
  .lm-TabBar-tab.lm-mod-closable.jp-mod-dirty
  > .lm-TabBar-tabCloseIcon
  > :not(:hover)
  > .jp-icon-busy[fill] {
  fill: var(--jp-inverse-layout-color3);
}

/* stylelint-enable selector-max-class, selector-max-compound-selectors */

/* CSS for icons in status bar */
#jp-main-statusbar .jp-mod-selected .jp-icon-selectable[fill] {
  fill: #fff;
}

#jp-main-statusbar .jp-mod-selected .jp-icon-selectable-inverse[fill] {
  fill: var(--jp-brand-color1);
}

/* special handling for splash icon CSS. While the theme CSS reloads during
   splash, the splash icon can loose theming. To prevent that, we set a
   default for its color variable */
:root {
  --jp-warn-color0: var(--md-orange-700);
}

/* not sure what to do with this one, used in filebrowser listing */
.jp-DragIcon {
  margin-right: 4px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/**
 * Support for alt colors for icons as inline SVG HTMLElements
 */

/* alt recolor the primary elements of an icon */
.jp-icon-alt .jp-icon0[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-alt .jp-icon0[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-alt .jp-icon1[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-alt .jp-icon2[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-alt .jp-icon3[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-alt .jp-icon4[stroke] {
  stroke: var(--jp-layout-color4);
}

/* alt recolor the accent elements of an icon */
.jp-icon-alt .jp-icon-accent0[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-alt .jp-icon-accent0[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-alt .jp-icon-accent1[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-alt .jp-icon-accent2[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-alt .jp-icon-accent3[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-alt .jp-icon-accent4[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-icon-hoverShow:not(:hover) .jp-icon-hoverShow-content {
  display: none !important;
}

/**
 * Support for hover colors for icons as inline SVG HTMLElements
 */

/**
 * regular colors
 */

/* recolor the primary elements of an icon */
.jp-icon-hover :hover .jp-icon0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/* recolor the accent elements of an icon */
.jp-icon-hover :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* set the color of an icon to transparent */
.jp-icon-hover :hover .jp-icon-none-hover[fill] {
  fill: none;
}

.jp-icon-hover :hover .jp-icon-none-hover[stroke] {
  stroke: none;
}

/**
 * inverse colors
 */

/* inverse recolor the primary elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[fill] {
  fill: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[fill] {
  fill: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[fill] {
  fill: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[fill] {
  fill: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[fill] {
  fill: var(--jp-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon0-hover[stroke] {
  stroke: var(--jp-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon1-hover[stroke] {
  stroke: var(--jp-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon2-hover[stroke] {
  stroke: var(--jp-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon3-hover[stroke] {
  stroke: var(--jp-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon4-hover[stroke] {
  stroke: var(--jp-layout-color4);
}

/* inverse recolor the accent elements of an icon */
.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[fill] {
  fill: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[fill] {
  fill: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[fill] {
  fill: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[fill] {
  fill: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[fill] {
  fill: var(--jp-inverse-layout-color4);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent0-hover[stroke] {
  stroke: var(--jp-inverse-layout-color0);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent1-hover[stroke] {
  stroke: var(--jp-inverse-layout-color1);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent2-hover[stroke] {
  stroke: var(--jp-inverse-layout-color2);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent3-hover[stroke] {
  stroke: var(--jp-inverse-layout-color3);
}

.jp-icon-hover.jp-icon-alt :hover .jp-icon-accent4-hover[stroke] {
  stroke: var(--jp-inverse-layout-color4);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-IFrame {
  width: 100%;
  height: 100%;
}

.jp-IFrame > iframe {
  border: none;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-IFrame {
  position: relative;
}

body.lm-mod-override-cursor .jp-IFrame::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-HoverBox {
  position: fixed;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FormGroup-content fieldset {
  border: none;
  padding: 0;
  min-width: 0;
  width: 100%;
}

/* stylelint-disable selector-max-type */

.jp-FormGroup-content fieldset .jp-inputFieldWrapper input,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper select,
.jp-FormGroup-content fieldset .jp-inputFieldWrapper textarea {
  font-size: var(--jp-content-font-size2);
  border-color: var(--jp-input-border-color);
  border-style: solid;
  border-radius: var(--jp-border-radius);
  border-width: 1px;
  padding: 6px 8px;
  background: none;
  color: var(--jp-ui-font-color0);
  height: inherit;
}

.jp-FormGroup-content fieldset input[type='checkbox'] {
  position: relative;
  top: 2px;
  margin-left: 0;
}

.jp-FormGroup-content button.jp-mod-styled {
  cursor: pointer;
}

.jp-FormGroup-content .checkbox label {
  cursor: pointer;
  font-size: var(--jp-content-font-size1);
}

.jp-FormGroup-content .jp-root > fieldset > legend {
  display: none;
}

.jp-FormGroup-content .jp-root > fieldset > p {
  display: none;
}

/** copy of `input.jp-mod-styled:focus` style */
.jp-FormGroup-content fieldset input:focus,
.jp-FormGroup-content fieldset select:focus {
  -moz-outline-radius: unset;
  outline: var(--jp-border-width) solid var(--md-blue-500);
  outline-offset: -1px;
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-FormGroup-content fieldset input:hover:not(:focus),
.jp-FormGroup-content fieldset select:hover:not(:focus) {
  background-color: var(--jp-border-color2);
}

/* stylelint-enable selector-max-type */

.jp-FormGroup-content .checkbox .field-description {
  /* Disable default description field for checkbox:
   because other widgets do not have description fields,
   we add descriptions to each widget on the field level.
  */
  display: none;
}

.jp-FormGroup-content #root__description {
  display: none;
}

.jp-FormGroup-content .jp-modifiedIndicator {
  width: 5px;
  background-color: var(--jp-brand-color2);
  margin-top: 0;
  margin-left: calc(var(--jp-private-settingeditor-modifier-indent) * -1);
  flex-shrink: 0;
}

.jp-FormGroup-content .jp-modifiedIndicator.jp-errorIndicator {
  background-color: var(--jp-error-color0);
  margin-right: 0.5em;
}

/* RJSF ARRAY style */

.jp-arrayFieldWrapper legend {
  font-size: var(--jp-content-font-size2);
  color: var(--jp-ui-font-color0);
  flex-basis: 100%;
  padding: 4px 0;
  font-weight: var(--jp-content-heading-font-weight);
  border-bottom: 1px solid var(--jp-border-color2);
}

.jp-arrayFieldWrapper .field-description {
  padding: 4px 0;
  white-space: pre-wrap;
}

.jp-arrayFieldWrapper .array-item {
  width: 100%;
  border: 1px solid var(--jp-border-color2);
  border-radius: 4px;
  margin: 4px;
}

.jp-ArrayOperations {
  display: flex;
  margin-left: 8px;
}

.jp-ArrayOperationsButton {
  margin: 2px;
}

.jp-ArrayOperationsButton .jp-icon3[fill] {
  fill: var(--jp-ui-font-color0);
}

button.jp-ArrayOperationsButton.jp-mod-styled:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* RJSF form validation error */

.jp-FormGroup-content .validationErrors {
  color: var(--jp-error-color0);
}

/* Hide panel level error as duplicated the field level error */
.jp-FormGroup-content .panel.errors {
  display: none;
}

/* RJSF normal content (settings-editor) */

.jp-FormGroup-contentNormal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-FormGroup-contentItem {
  margin-left: 7px;
  color: var(--jp-ui-font-color0);
}

.jp-FormGroup-contentNormal .jp-FormGroup-description {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-default {
  flex-basis: 100%;
  padding: 4px 7px;
}

.jp-FormGroup-contentNormal .jp-FormGroup-fieldLabel {
  font-size: var(--jp-content-font-size1);
  font-weight: normal;
  min-width: 120px;
}

.jp-FormGroup-contentNormal fieldset:not(:first-child) {
  margin-left: 7px;
}

.jp-FormGroup-contentNormal .field-array-of-string .array-item {
  /* Display `jp-ArrayOperations` buttons side-by-side with content except
    for small screens where flex-wrap will place them one below the other.
  */
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.jp-FormGroup-contentNormal .jp-objectFieldWrapper .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

/* RJSF compact content (metadata-form) */

.jp-FormGroup-content.jp-FormGroup-contentCompact {
  width: 100%;
}

.jp-FormGroup-contentCompact .form-group {
  display: flex;
  padding: 0.5em 0.2em 0.5em 0;
}

.jp-FormGroup-contentCompact
  .jp-FormGroup-compactTitle
  .jp-FormGroup-description {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color2);
}

.jp-FormGroup-contentCompact .jp-FormGroup-fieldLabel {
  padding-bottom: 0.3em;
}

.jp-FormGroup-contentCompact .jp-inputFieldWrapper .form-control {
  width: 100%;
  box-sizing: border-box;
}

.jp-FormGroup-contentCompact .jp-arrayFieldWrapper .jp-FormGroup-compactTitle {
  padding-bottom: 7px;
}

.jp-FormGroup-contentCompact
  .jp-objectFieldWrapper
  .jp-objectFieldWrapper
  .form-group {
  padding: 2px 8px 2px var(--jp-private-settingeditor-modifier-indent);
  margin-top: 2px;
}

.jp-FormGroup-contentCompact ul.error-detail {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
  padding-inline-start: 1em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-SidePanel {
  display: flex;
  flex-direction: column;
  min-width: var(--jp-sidebar-min-width);
  overflow-y: auto;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);
  font-size: var(--jp-ui-font-size1);
}

.jp-SidePanel-header {
  flex: 0 0 auto;
  display: flex;
  border-bottom: var(--jp-border-width) solid var(--jp-border-color2);
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin: 0;
  padding: 2px;
  text-transform: uppercase;
}

.jp-SidePanel-toolbar {
  flex: 0 0 auto;
}

.jp-SidePanel-content {
  flex: 1 1 auto;
}

.jp-SidePanel-toolbar,
.jp-AccordionPanel-toolbar {
  height: var(--jp-private-toolbar-height);
}

.jp-SidePanel-toolbar.jp-Toolbar-micro {
  display: none;
}

.lm-AccordionPanel .jp-AccordionPanel-title {
  box-sizing: border-box;
  line-height: 25px;
  margin: 0;
  display: flex;
  align-items: center;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  font-size: var(--jp-ui-font-size0);
}

.jp-AccordionPanel-title {
  cursor: pointer;
  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  text-transform: uppercase;
}

.lm-AccordionPanel[data-orientation='horizontal'] > .jp-AccordionPanel-title {
  /* Title is rotated for horizontal accordion panel using CSS */
  display: block;
  transform-origin: top left;
  transform: rotate(-90deg) translate(-100%);
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleLabel {
  user-select: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.jp-AccordionPanel-title .lm-AccordionPanel-titleCollapser {
  transform: rotate(-90deg);
  margin: auto 0;
  height: 16px;
}

.jp-AccordionPanel-title.lm-mod-expanded .lm-AccordionPanel-titleCollapser {
  transform: rotate(0deg);
}

.lm-AccordionPanel .jp-AccordionPanel-toolbar {
  background: none;
  box-shadow: none;
  border: none;
  margin-left: auto;
}

.lm-AccordionPanel .lm-SplitPanel-handle:hover {
  background: var(--jp-layout-color3);
}

.jp-text-truncated {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Spinner {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-layout-color0);
  outline: none;
}

.jp-SpinnerContent {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 3em;
  height: 3em;
  border-radius: 50%;
  background: var(--jp-brand-color3);
  background: linear-gradient(
    to right,
    #f37626 10%,
    rgba(255, 255, 255, 0) 42%
  );
  position: relative;
  animation: load3 1s infinite linear, fadeIn 1s;
}

.jp-SpinnerContent::before {
  width: 50%;
  height: 50%;
  background: #f37626;
  border-radius: 100% 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: '';
}

.jp-SpinnerContent::after {
  background: var(--jp-layout-color0);
  width: 75%;
  height: 75%;
  border-radius: 50%;
  content: '';
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes load3 {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

button.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: none;
  box-sizing: border-box;
  text-align: center;
  line-height: 32px;
  height: 32px;
  padding: 0 12px;
  letter-spacing: 0.8px;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input.jp-mod-styled {
  background: var(--jp-input-background);
  height: 28px;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color1);
  padding-left: 7px;
  padding-right: 7px;
  font-size: var(--jp-ui-font-size2);
  color: var(--jp-ui-font-color0);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

input[type='checkbox'].jp-mod-styled {
  appearance: checkbox;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  height: auto;
}

input.jp-mod-styled:focus {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-select-wrapper {
  display: flex;
  position: relative;
  flex-direction: column;
  padding: 1px;
  background-color: var(--jp-layout-color1);
  box-sizing: border-box;
  margin-bottom: 12px;
}

.jp-select-wrapper:not(.multiple) {
  height: 28px;
}

.jp-select-wrapper.jp-mod-focused select.jp-mod-styled {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-input-active-background);
}

select.jp-mod-styled:hover {
  cursor: pointer;
  color: var(--jp-ui-font-color0);
  background-color: var(--jp-input-hover-background);
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.5);
}

select.jp-mod-styled {
  flex: 1 1 auto;
  width: 100%;
  font-size: var(--jp-ui-font-size2);
  background: var(--jp-input-background);
  color: var(--jp-ui-font-color0);
  padding: 0 25px 0 8px;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

select.jp-mod-styled:not([multiple]) {
  height: 32px;
}

select.jp-mod-styled[multiple] {
  max-height: 200px;
  overflow-y: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-switch {
  display: flex;
  align-items: center;
  padding-left: 4px;
  padding-right: 4px;
  font-size: var(--jp-ui-font-size1);
  background-color: transparent;
  color: var(--jp-ui-font-color1);
  border: none;
  height: 20px;
}

.jp-switch:hover {
  background-color: var(--jp-layout-color2);
}

.jp-switch-label {
  margin-right: 5px;
  font-family: var(--jp-ui-font-family);
}

.jp-switch-track {
  cursor: pointer;
  background-color: var(--jp-switch-color, var(--jp-border-color1));
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 34px;
  height: 16px;
  width: 35px;
  position: relative;
}

.jp-switch-track::before {
  content: '';
  position: absolute;
  height: 10px;
  width: 10px;
  margin: 3px;
  left: 0;
  background-color: var(--jp-ui-inverse-font-color1);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  border-radius: 50%;
}

.jp-switch[aria-checked='true'] .jp-switch-track {
  background-color: var(--jp-switch-true-position-color, var(--jp-warn-color0));
}

.jp-switch[aria-checked='true'] .jp-switch-track::before {
  /* track width (35) - margins (3 + 3) - thumb width (10) */
  left: 19px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toolbar-height: calc(
    28px + var(--jp-border-width)
  ); /* leave 28px for content */
}

.jp-Toolbar {
  color: var(--jp-ui-font-color1);
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: 2px;
  z-index: 8;
  overflow-x: hidden;
}

/* Toolbar items */

.jp-Toolbar > .jp-Toolbar-item.jp-Toolbar-spacer {
  flex-grow: 1;
  flex-shrink: 1;
}

.jp-Toolbar-item.jp-Toolbar-kernelStatus {
  display: inline-block;
  width: 32px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px;
}

.jp-Toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  display: flex;
  padding-left: 1px;
  padding-right: 1px;
  font-size: var(--jp-ui-font-size1);
  line-height: var(--jp-private-toolbar-height);
  height: 100%;
}

/* Toolbar buttons */

/* This is the div we use to wrap the react component into a Widget */
div.jp-ToolbarButton {
  color: transparent;
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0;
  margin: 0;
}

button.jp-ToolbarButtonComponent {
  background: var(--jp-layout-color1);
  border: none;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0 6px;
  margin: 0;
  height: 24px;
  border-radius: var(--jp-border-radius);
  display: flex;
  align-items: center;
  text-align: center;
  font-size: 14px;
  min-width: unset;
  min-height: unset;
}

button.jp-ToolbarButtonComponent:disabled {
  opacity: 0.4;
}

button.jp-ToolbarButtonComponent > span {
  padding: 0;
  flex: 0 0 auto;
}

button.jp-ToolbarButtonComponent .jp-ToolbarButtonComponent-label {
  font-size: var(--jp-ui-font-size1);
  line-height: 100%;
  padding-left: 2px;
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar.jp-Toolbar-micro {
  padding: 0;
  min-height: 0;
}

#jp-main-dock-panel[data-mode='single-document']
  .jp-MainAreaWidget
  > .jp-Toolbar {
  border: none;
  box-shadow: none;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-WindowedPanel-outer {
  position: relative;
  overflow-y: auto;
}

.jp-WindowedPanel-inner {
  position: relative;
}

.jp-WindowedPanel-window {
  position: absolute;
  left: 0;
  right: 0;
  overflow: visible;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/* Sibling imports */

body {
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
}

/* Disable native link decoration styles everywhere outside of dialog boxes */
a {
  text-decoration: unset;
  color: unset;
}

a:hover {
  text-decoration: unset;
  color: unset;
}

/* Accessibility for links inside dialog box text */
.jp-Dialog-content a {
  text-decoration: revert;
  color: var(--jp-content-link-color);
}

.jp-Dialog-content a:hover {
  text-decoration: revert;
}

/* Styles for ui-components */
.jp-Button {
  color: var(--jp-ui-font-color2);
  border-radius: var(--jp-border-radius);
  padding: 0 12px;
  font-size: var(--jp-ui-font-size1);

  /* Copy from blueprint 3 */
  display: inline-flex;
  flex-direction: row;
  border: none;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  text-align: left;
  vertical-align: middle;
  min-height: 30px;
  min-width: 30px;
}

.jp-Button:disabled {
  cursor: not-allowed;
}

.jp-Button:empty {
  padding: 0 !important;
}

.jp-Button.jp-mod-small {
  min-height: 24px;
  min-width: 24px;
  font-size: 12px;
  padding: 0 7px;
}

/* Use our own theme for hover styles */
.jp-Button.jp-mod-minimal:hover {
  background-color: var(--jp-layout-color2);
}

.jp-Button.jp-mod-minimal {
  background: none;
}

.jp-InputGroup {
  display: block;
  position: relative;
}

.jp-InputGroup input {
  box-sizing: border-box;
  border: none;
  border-radius: 0;
  background-color: transparent;
  color: var(--jp-ui-font-color0);
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
  padding-bottom: 0;
  padding-top: 0;
  padding-left: 10px;
  padding-right: 28px;
  position: relative;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 14px;
  font-weight: 400;
  height: 30px;
  line-height: 30px;
  outline: none;
  vertical-align: middle;
}

.jp-InputGroup input:focus {
  box-shadow: inset 0 0 0 var(--jp-border-width)
      var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-InputGroup input:disabled {
  cursor: not-allowed;
  resize: block;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input:disabled ~ span {
  cursor: not-allowed;
  color: var(--jp-ui-font-color2);
}

.jp-InputGroup input::placeholder,
input::placeholder {
  color: var(--jp-ui-font-color2);
}

.jp-InputGroupAction {
  position: absolute;
  bottom: 1px;
  right: 0;
  padding: 6px;
}

.jp-HTMLSelect.jp-DefaultStyle select {
  background-color: initial;
  border: none;
  border-radius: 0;
  box-shadow: none;
  color: var(--jp-ui-font-color0);
  display: block;
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  height: 24px;
  line-height: 14px;
  padding: 0 25px 0 10px;
  text-align: left;
  -moz-appearance: none;
  -webkit-appearance: none;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color2);
  cursor: not-allowed;
  resize: block;
}

.jp-HTMLSelect.jp-DefaultStyle select:disabled ~ span {
  cursor: not-allowed;
}

/* Use our own theme for hover and option styles */
/* stylelint-disable-next-line selector-max-type */
.jp-HTMLSelect.jp-DefaultStyle select:hover,
.jp-HTMLSelect.jp-DefaultStyle select > option {
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color0);
}

select {
  box-sizing: border-box;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-StatusBar-Widget {
  display: flex;
  align-items: center;
  background: var(--jp-layout-color2);
  min-height: var(--jp-statusbar-height);
  justify-content: space-between;
  padding: 0 10px;
}

.jp-StatusBar-Left {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-StatusBar-Middle {
  display: flex;
  align-items: center;
}

.jp-StatusBar-Right {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

.jp-StatusBar-Item {
  max-height: var(--jp-statusbar-height);
  margin: 0 2px;
  height: var(--jp-statusbar-height);
  white-space: nowrap;
  text-overflow: ellipsis;
  color: var(--jp-ui-font-color1);
  padding: 0 6px;
}

.jp-mod-highlighted:hover {
  background-color: var(--jp-layout-color3);
}

.jp-mod-clicked {
  background-color: var(--jp-brand-color1);
}

.jp-mod-clicked:hover {
  background-color: var(--jp-brand-color0);
}

.jp-mod-clicked .jp-StatusBar-TextItem {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-StatusBar-HoverItem {
  box-shadow: '0px 4px 4px rgba(0, 0, 0, 0.25)';
}

.jp-StatusBar-TextItem {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  line-height: 24px;
  color: var(--jp-ui-font-color1);
}

.jp-StatusBar-GroupItem {
  display: flex;
  align-items: center;
  flex-direction: row;
}

.jp-Statusbar-ProgressCircle svg {
  display: block;
  margin: 0 auto;
  width: 16px;
  height: 24px;
  align-self: normal;
}

.jp-Statusbar-ProgressCircle path {
  fill: var(--jp-inverse-layout-color3);
}

.jp-Statusbar-ProgressBar-progress-bar {
  height: 10px;
  width: 100px;
  border: solid 0.25px var(--jp-brand-color2);
  border-radius: 3px;
  overflow: hidden;
  align-self: center;
}

.jp-Statusbar-ProgressBar-progress-bar > div {
  background-color: var(--jp-brand-color2);
  background-image: linear-gradient(
    -45deg,
    rgba(255, 255, 255, 0.2) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.2) 50%,
    rgba(255, 255, 255, 0.2) 75%,
    transparent 75%,
    transparent
  );
  background-size: 40px 40px;
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 14px;
  color: #fff;
  text-align: center;
  animation: jp-Statusbar-ExecutionTime-progress-bar 2s linear infinite;
}

.jp-Statusbar-ProgressBar-progress-bar p {
  color: var(--jp-ui-font-color1);
  font-family: var(--jp-ui-font-family);
  font-size: var(--jp-ui-font-size1);
  line-height: 10px;
  width: 100px;
}

@keyframes jp-Statusbar-ExecutionTime-progress-bar {
  0% {
    background-position: 0 0;
  }

  100% {
    background-position: 40px 40px;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-commandpalette-search-height: 28px;
}

/*-----------------------------------------------------------------------------
| Overall styles
|----------------------------------------------------------------------------*/

.lm-CommandPalette {
  padding-bottom: 0;
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Modal variant
|----------------------------------------------------------------------------*/

.jp-ModalCommandPalette {
  position: absolute;
  z-index: 10000;
  top: 38px;
  left: 30%;
  margin: 0;
  padding: 4px;
  width: 40%;
  box-shadow: var(--jp-elevation-z4);
  border-radius: 4px;
  background: var(--jp-layout-color0);
}

.jp-ModalCommandPalette .lm-CommandPalette {
  max-height: 40vh;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-close-icon::after {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-header {
  display: none;
}

.jp-ModalCommandPalette .lm-CommandPalette .lm-CommandPalette-item {
  margin-left: 4px;
  margin-right: 4px;
}

.jp-ModalCommandPalette
  .lm-CommandPalette
  .lm-CommandPalette-item.lm-mod-disabled {
  display: none;
}

/*-----------------------------------------------------------------------------
| Search
|----------------------------------------------------------------------------*/

.lm-CommandPalette-search {
  padding: 4px;
  background-color: var(--jp-layout-color1);
  z-index: 2;
}

.lm-CommandPalette-wrapper {
  overflow: overlay;
  padding: 0 9px;
  background-color: var(--jp-input-active-background);
  height: 30px;
  box-shadow: inset 0 0 0 var(--jp-border-width) var(--jp-input-border-color);
}

.lm-CommandPalette.lm-mod-focused .lm-CommandPalette-wrapper {
  box-shadow: inset 0 0 0 1px var(--jp-input-active-box-shadow-color),
    inset 0 0 0 3px var(--jp-input-active-box-shadow-color);
}

.jp-SearchIconGroup {
  color: white;
  background-color: var(--jp-brand-color1);
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 5px 5px 1px;
}

.jp-SearchIconGroup svg {
  height: 20px;
  width: 20px;
}

.jp-SearchIconGroup .jp-icon3[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-input {
  background: transparent;
  width: calc(100% - 18px);
  float: left;
  border: none;
  outline: none;
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  line-height: var(--jp-private-commandpalette-search-height);
}

.lm-CommandPalette-input::-webkit-input-placeholder,
.lm-CommandPalette-input::-moz-placeholder,
.lm-CommandPalette-input:-ms-input-placeholder {
  color: var(--jp-ui-font-color2);
  font-size: var(--jp-ui-font-size1);
}

/*-----------------------------------------------------------------------------
| Results
|----------------------------------------------------------------------------*/

.lm-CommandPalette-header:first-child {
  margin-top: 0;
}

.lm-CommandPalette-header {
  border-bottom: solid var(--jp-border-width) var(--jp-border-color2);
  color: var(--jp-ui-font-color1);
  cursor: pointer;
  display: flex;
  font-size: var(--jp-ui-font-size0);
  font-weight: 600;
  letter-spacing: 1px;
  margin-top: 8px;
  padding: 8px 0 8px 12px;
  text-transform: uppercase;
}

.lm-CommandPalette-header.lm-mod-active {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-header > mark {
  background-color: transparent;
  font-weight: bold;
  color: var(--jp-ui-font-color1);
}

.lm-CommandPalette-item {
  padding: 4px 12px 4px 4px;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  font-weight: 400;
  display: flex;
}

.lm-CommandPalette-item.lm-mod-disabled {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item.lm-mod-active {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item.lm-mod-active .lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-inverse-font-color0);
}

.lm-CommandPalette-item.lm-mod-active .jp-icon-selectable[fill] {
  fill: var(--jp-layout-color0);
}

.lm-CommandPalette-item.lm-mod-active:hover:not(.lm-mod-disabled) {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.lm-CommandPalette-item:hover:not(.lm-mod-active):not(.lm-mod-disabled) {
  background: var(--jp-layout-color2);
}

.lm-CommandPalette-itemContent {
  overflow: hidden;
}

.lm-CommandPalette-itemLabel > mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.lm-CommandPalette-item.lm-mod-disabled mark {
  color: var(--jp-ui-font-color2);
}

.lm-CommandPalette-item .lm-CommandPalette-itemIcon {
  margin: 0 4px 0 0;
  position: relative;
  width: 16px;
  top: 2px;
  flex: 0 0 auto;
}

.lm-CommandPalette-item.lm-mod-disabled .lm-CommandPalette-itemIcon {
  opacity: 0.6;
}

.lm-CommandPalette-item .lm-CommandPalette-itemShortcut {
  flex: 0 0 auto;
}

.lm-CommandPalette-itemCaption {
  display: none;
}

.lm-CommandPalette-content {
  background-color: var(--jp-layout-color1);
}

.lm-CommandPalette-content:empty::after {
  content: 'No results';
  margin: auto;
  margin-top: 20px;
  width: 100px;
  display: block;
  font-size: var(--jp-ui-font-size2);
  font-family: var(--jp-ui-font-family);
  font-weight: lighter;
}

.lm-CommandPalette-emptyMessage {
  text-align: center;
  margin-top: 24px;
  line-height: 1.32;
  padding: 0 8px;
  color: var(--jp-content-font-color3);
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Dialog {
  position: absolute;
  z-index: 10000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  background: var(--jp-dialog-background);
}

.jp-Dialog-content {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
  background: var(--jp-layout-color1);
  padding: 24px 24px 12px;
  min-width: 300px;
  min-height: 150px;
  max-width: 1000px;
  max-height: 500px;
  box-sizing: border-box;
  box-shadow: var(--jp-elevation-z20);
  word-wrap: break-word;
  border-radius: var(--jp-border-radius);

  /* This is needed so that all font sizing of children done in ems is
   * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color1);
  resize: both;
}

.jp-Dialog-content.jp-Dialog-content-small {
  max-width: 500px;
}

.jp-Dialog-button {
  overflow: visible;
}

button.jp-Dialog-button:focus {
  outline: 1px solid var(--jp-brand-color1);
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button:focus::-moz-focus-inner {
  border: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus,
button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline-offset: 4px;
  -moz-outline-radius: 0;
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-accept:focus {
  outline: 1px solid var(--jp-accept-color-normal, var(--jp-brand-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-warn:focus {
  outline: 1px solid var(--jp-warn-color-normal, var(--jp-error-color1));
}

button.jp-Dialog-button.jp-mod-styled.jp-mod-reject:focus {
  outline: 1px solid var(--jp-reject-color-normal, var(--md-grey-600));
}

button.jp-Dialog-close-button {
  padding: 0;
  height: 100%;
  min-width: unset;
  min-height: unset;
}

.jp-Dialog-header {
  display: flex;
  justify-content: space-between;
  flex: 0 0 auto;
  padding-bottom: 12px;
  font-size: var(--jp-ui-font-size3);
  font-weight: 400;
  color: var(--jp-ui-font-color1);
}

.jp-Dialog-body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  font-size: var(--jp-ui-font-size1);
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  overflow: auto;
}

.jp-Dialog-footer {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  align-items: center;
  flex: 0 0 auto;
  margin-left: -12px;
  margin-right: -12px;
  padding: 12px;
}

.jp-Dialog-checkbox {
  padding-right: 5px;
}

.jp-Dialog-checkbox > input:focus-visible {
  outline: 1px solid var(--jp-input-active-border-color);
  outline-offset: 1px;
}

.jp-Dialog-spacer {
  flex: 1 1 auto;
}

.jp-Dialog-title {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.jp-Dialog-body > .jp-select-wrapper {
  width: 100%;
}

.jp-Dialog-body > button {
  padding: 0 16px;
}

.jp-Dialog-body > label {
  line-height: 1.4;
  color: var(--jp-ui-font-color0);
}

.jp-Dialog-button.jp-mod-styled:not(:last-child) {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Input-Boolean-Dialog {
  flex-direction: row-reverse;
  align-items: end;
  width: 100%;
}

.jp-Input-Boolean-Dialog > label {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MainAreaWidget > :focus {
  outline: none;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error {
  padding: 6px;
}

.jp-MainAreaWidget .jp-MainAreaWidget-error > pre {
  width: auto;
  padding: 10px;
  background: var(--jp-error-color3);
  border: var(--jp-border-width) solid var(--jp-error-color1);
  border-radius: var(--jp-border-radius);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/**
 * google-material-color v1.2.6
 * https://github.com/danlevan/google-material-color
 */
:root {
  --md-red-50: #ffebee;
  --md-red-100: #ffcdd2;
  --md-red-200: #ef9a9a;
  --md-red-300: #e57373;
  --md-red-400: #ef5350;
  --md-red-500: #f44336;
  --md-red-600: #e53935;
  --md-red-700: #d32f2f;
  --md-red-800: #c62828;
  --md-red-900: #b71c1c;
  --md-red-A100: #ff8a80;
  --md-red-A200: #ff5252;
  --md-red-A400: #ff1744;
  --md-red-A700: #d50000;
  --md-pink-50: #fce4ec;
  --md-pink-100: #f8bbd0;
  --md-pink-200: #f48fb1;
  --md-pink-300: #f06292;
  --md-pink-400: #ec407a;
  --md-pink-500: #e91e63;
  --md-pink-600: #d81b60;
  --md-pink-700: #c2185b;
  --md-pink-800: #ad1457;
  --md-pink-900: #880e4f;
  --md-pink-A100: #ff80ab;
  --md-pink-A200: #ff4081;
  --md-pink-A400: #f50057;
  --md-pink-A700: #c51162;
  --md-purple-50: #f3e5f5;
  --md-purple-100: #e1bee7;
  --md-purple-200: #ce93d8;
  --md-purple-300: #ba68c8;
  --md-purple-400: #ab47bc;
  --md-purple-500: #9c27b0;
  --md-purple-600: #8e24aa;
  --md-purple-700: #7b1fa2;
  --md-purple-800: #6a1b9a;
  --md-purple-900: #4a148c;
  --md-purple-A100: #ea80fc;
  --md-purple-A200: #e040fb;
  --md-purple-A400: #d500f9;
  --md-purple-A700: #a0f;
  --md-deep-purple-50: #ede7f6;
  --md-deep-purple-100: #d1c4e9;
  --md-deep-purple-200: #b39ddb;
  --md-deep-purple-300: #9575cd;
  --md-deep-purple-400: #7e57c2;
  --md-deep-purple-500: #673ab7;
  --md-deep-purple-600: #5e35b1;
  --md-deep-purple-700: #512da8;
  --md-deep-purple-800: #4527a0;
  --md-deep-purple-900: #311b92;
  --md-deep-purple-A100: #b388ff;
  --md-deep-purple-A200: #7c4dff;
  --md-deep-purple-A400: #651fff;
  --md-deep-purple-A700: #6200ea;
  --md-indigo-50: #e8eaf6;
  --md-indigo-100: #c5cae9;
  --md-indigo-200: #9fa8da;
  --md-indigo-300: #7986cb;
  --md-indigo-400: #5c6bc0;
  --md-indigo-500: #3f51b5;
  --md-indigo-600: #3949ab;
  --md-indigo-700: #303f9f;
  --md-indigo-800: #283593;
  --md-indigo-900: #1a237e;
  --md-indigo-A100: #8c9eff;
  --md-indigo-A200: #536dfe;
  --md-indigo-A400: #3d5afe;
  --md-indigo-A700: #304ffe;
  --md-blue-50: #e3f2fd;
  --md-blue-100: #bbdefb;
  --md-blue-200: #90caf9;
  --md-blue-300: #64b5f6;
  --md-blue-400: #42a5f5;
  --md-blue-500: #2196f3;
  --md-blue-600: #1e88e5;
  --md-blue-700: #1976d2;
  --md-blue-800: #1565c0;
  --md-blue-900: #0d47a1;
  --md-blue-A100: #82b1ff;
  --md-blue-A200: #448aff;
  --md-blue-A400: #2979ff;
  --md-blue-A700: #2962ff;
  --md-light-blue-50: #e1f5fe;
  --md-light-blue-100: #b3e5fc;
  --md-light-blue-200: #81d4fa;
  --md-light-blue-300: #4fc3f7;
  --md-light-blue-400: #29b6f6;
  --md-light-blue-500: #03a9f4;
  --md-light-blue-600: #039be5;
  --md-light-blue-700: #0288d1;
  --md-light-blue-800: #0277bd;
  --md-light-blue-900: #01579b;
  --md-light-blue-A100: #80d8ff;
  --md-light-blue-A200: #40c4ff;
  --md-light-blue-A400: #00b0ff;
  --md-light-blue-A700: #0091ea;
  --md-cyan-50: #e0f7fa;
  --md-cyan-100: #b2ebf2;
  --md-cyan-200: #80deea;
  --md-cyan-300: #4dd0e1;
  --md-cyan-400: #26c6da;
  --md-cyan-500: #00bcd4;
  --md-cyan-600: #00acc1;
  --md-cyan-700: #0097a7;
  --md-cyan-800: #00838f;
  --md-cyan-900: #006064;
  --md-cyan-A100: #84ffff;
  --md-cyan-A200: #18ffff;
  --md-cyan-A400: #00e5ff;
  --md-cyan-A700: #00b8d4;
  --md-teal-50: #e0f2f1;
  --md-teal-100: #b2dfdb;
  --md-teal-200: #80cbc4;
  --md-teal-300: #4db6ac;
  --md-teal-400: #26a69a;
  --md-teal-500: #009688;
  --md-teal-600: #00897b;
  --md-teal-700: #00796b;
  --md-teal-800: #00695c;
  --md-teal-900: #004d40;
  --md-teal-A100: #a7ffeb;
  --md-teal-A200: #64ffda;
  --md-teal-A400: #1de9b6;
  --md-teal-A700: #00bfa5;
  --md-green-50: #e8f5e9;
  --md-green-100: #c8e6c9;
  --md-green-200: #a5d6a7;
  --md-green-300: #81c784;
  --md-green-400: #66bb6a;
  --md-green-500: #4caf50;
  --md-green-600: #43a047;
  --md-green-700: #388e3c;
  --md-green-800: #2e7d32;
  --md-green-900: #1b5e20;
  --md-green-A100: #b9f6ca;
  --md-green-A200: #69f0ae;
  --md-green-A400: #00e676;
  --md-green-A700: #00c853;
  --md-light-green-50: #f1f8e9;
  --md-light-green-100: #dcedc8;
  --md-light-green-200: #c5e1a5;
  --md-light-green-300: #aed581;
  --md-light-green-400: #9ccc65;
  --md-light-green-500: #8bc34a;
  --md-light-green-600: #7cb342;
  --md-light-green-700: #689f38;
  --md-light-green-800: #558b2f;
  --md-light-green-900: #33691e;
  --md-light-green-A100: #ccff90;
  --md-light-green-A200: #b2ff59;
  --md-light-green-A400: #76ff03;
  --md-light-green-A700: #64dd17;
  --md-lime-50: #f9fbe7;
  --md-lime-100: #f0f4c3;
  --md-lime-200: #e6ee9c;
  --md-lime-300: #dce775;
  --md-lime-400: #d4e157;
  --md-lime-500: #cddc39;
  --md-lime-600: #c0ca33;
  --md-lime-700: #afb42b;
  --md-lime-800: #9e9d24;
  --md-lime-900: #827717;
  --md-lime-A100: #f4ff81;
  --md-lime-A200: #eeff41;
  --md-lime-A400: #c6ff00;
  --md-lime-A700: #aeea00;
  --md-yellow-50: #fffde7;
  --md-yellow-100: #fff9c4;
  --md-yellow-200: #fff59d;
  --md-yellow-300: #fff176;
  --md-yellow-400: #ffee58;
  --md-yellow-500: #ffeb3b;
  --md-yellow-600: #fdd835;
  --md-yellow-700: #fbc02d;
  --md-yellow-800: #f9a825;
  --md-yellow-900: #f57f17;
  --md-yellow-A100: #ffff8d;
  --md-yellow-A200: #ff0;
  --md-yellow-A400: #ffea00;
  --md-yellow-A700: #ffd600;
  --md-amber-50: #fff8e1;
  --md-amber-100: #ffecb3;
  --md-amber-200: #ffe082;
  --md-amber-300: #ffd54f;
  --md-amber-400: #ffca28;
  --md-amber-500: #ffc107;
  --md-amber-600: #ffb300;
  --md-amber-700: #ffa000;
  --md-amber-800: #ff8f00;
  --md-amber-900: #ff6f00;
  --md-amber-A100: #ffe57f;
  --md-amber-A200: #ffd740;
  --md-amber-A400: #ffc400;
  --md-amber-A700: #ffab00;
  --md-orange-50: #fff3e0;
  --md-orange-100: #ffe0b2;
  --md-orange-200: #ffcc80;
  --md-orange-300: #ffb74d;
  --md-orange-400: #ffa726;
  --md-orange-500: #ff9800;
  --md-orange-600: #fb8c00;
  --md-orange-700: #f57c00;
  --md-orange-800: #ef6c00;
  --md-orange-900: #e65100;
  --md-orange-A100: #ffd180;
  --md-orange-A200: #ffab40;
  --md-orange-A400: #ff9100;
  --md-orange-A700: #ff6d00;
  --md-deep-orange-50: #fbe9e7;
  --md-deep-orange-100: #ffccbc;
  --md-deep-orange-200: #ffab91;
  --md-deep-orange-300: #ff8a65;
  --md-deep-orange-400: #ff7043;
  --md-deep-orange-500: #ff5722;
  --md-deep-orange-600: #f4511e;
  --md-deep-orange-700: #e64a19;
  --md-deep-orange-800: #d84315;
  --md-deep-orange-900: #bf360c;
  --md-deep-orange-A100: #ff9e80;
  --md-deep-orange-A200: #ff6e40;
  --md-deep-orange-A400: #ff3d00;
  --md-deep-orange-A700: #dd2c00;
  --md-brown-50: #efebe9;
  --md-brown-100: #d7ccc8;
  --md-brown-200: #bcaaa4;
  --md-brown-300: #a1887f;
  --md-brown-400: #8d6e63;
  --md-brown-500: #795548;
  --md-brown-600: #6d4c41;
  --md-brown-700: #5d4037;
  --md-brown-800: #4e342e;
  --md-brown-900: #3e2723;
  --md-grey-50: #fafafa;
  --md-grey-100: #f5f5f5;
  --md-grey-200: #eee;
  --md-grey-300: #e0e0e0;
  --md-grey-400: #bdbdbd;
  --md-grey-500: #9e9e9e;
  --md-grey-600: #757575;
  --md-grey-700: #616161;
  --md-grey-800: #424242;
  --md-grey-900: #212121;
  --md-blue-grey-50: #eceff1;
  --md-blue-grey-100: #cfd8dc;
  --md-blue-grey-200: #b0bec5;
  --md-blue-grey-300: #90a4ae;
  --md-blue-grey-400: #78909c;
  --md-blue-grey-500: #607d8b;
  --md-blue-grey-600: #546e7a;
  --md-blue-grey-700: #455a64;
  --md-blue-grey-800: #37474f;
  --md-blue-grey-900: #263238;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2017, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| RenderedText
|----------------------------------------------------------------------------*/

:root {
  /* This is the padding value to fill the gaps between lines containing spans with background color. */
  --jp-private-code-span-padding: calc(
    (var(--jp-code-line-height) - 1) * var(--jp-code-font-size) / 2
  );
}

.jp-RenderedText {
  text-align: left;
  padding-left: var(--jp-code-padding);
  line-height: var(--jp-code-line-height);
  font-family: var(--jp-code-font-family);
}

.jp-RenderedText pre,
.jp-RenderedJavaScript pre,
.jp-RenderedHTMLCommon pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
  border: none;
  margin: 0;
  padding: 0;
}

.jp-RenderedText pre a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedText pre a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* console foregrounds and backgrounds */
.jp-RenderedText pre .ansi-black-fg {
  color: #3e424d;
}

.jp-RenderedText pre .ansi-red-fg {
  color: #e75c58;
}

.jp-RenderedText pre .ansi-green-fg {
  color: #00a250;
}

.jp-RenderedText pre .ansi-yellow-fg {
  color: #ddb62b;
}

.jp-RenderedText pre .ansi-blue-fg {
  color: #208ffb;
}

.jp-RenderedText pre .ansi-magenta-fg {
  color: #d160c4;
}

.jp-RenderedText pre .ansi-cyan-fg {
  color: #60c6c8;
}

.jp-RenderedText pre .ansi-white-fg {
  color: #c5c1b4;
}

.jp-RenderedText pre .ansi-black-bg {
  background-color: #3e424d;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-bg {
  background-color: #e75c58;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-bg {
  background-color: #00a250;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-bg {
  background-color: #ddb62b;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-bg {
  background-color: #208ffb;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-bg {
  background-color: #d160c4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-bg {
  background-color: #60c6c8;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-bg {
  background-color: #c5c1b4;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-black-intense-fg {
  color: #282c36;
}

.jp-RenderedText pre .ansi-red-intense-fg {
  color: #b22b31;
}

.jp-RenderedText pre .ansi-green-intense-fg {
  color: #007427;
}

.jp-RenderedText pre .ansi-yellow-intense-fg {
  color: #b27d12;
}

.jp-RenderedText pre .ansi-blue-intense-fg {
  color: #0065ca;
}

.jp-RenderedText pre .ansi-magenta-intense-fg {
  color: #a03196;
}

.jp-RenderedText pre .ansi-cyan-intense-fg {
  color: #258f8f;
}

.jp-RenderedText pre .ansi-white-intense-fg {
  color: #a1a6b2;
}

.jp-RenderedText pre .ansi-black-intense-bg {
  background-color: #282c36;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-red-intense-bg {
  background-color: #b22b31;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-green-intense-bg {
  background-color: #007427;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-yellow-intense-bg {
  background-color: #b27d12;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-blue-intense-bg {
  background-color: #0065ca;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-magenta-intense-bg {
  background-color: #a03196;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-cyan-intense-bg {
  background-color: #258f8f;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-white-intense-bg {
  background-color: #a1a6b2;
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-default-inverse-fg {
  color: var(--jp-ui-inverse-font-color0);
}

.jp-RenderedText pre .ansi-default-inverse-bg {
  background-color: var(--jp-inverse-layout-color0);
  padding: var(--jp-private-code-span-padding) 0;
}

.jp-RenderedText pre .ansi-bold {
  font-weight: bold;
}

.jp-RenderedText pre .ansi-underline {
  text-decoration: underline;
}

.jp-RenderedText[data-mime-type='application/vnd.jupyter.stderr'] {
  background: var(--jp-rendermime-error-background);
  padding-top: var(--jp-code-padding);
}

/*-----------------------------------------------------------------------------
| RenderedLatex
|----------------------------------------------------------------------------*/

.jp-RenderedLatex {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);
}

/* Left-justify outputs.*/
.jp-OutputArea-output.jp-RenderedLatex {
  padding: var(--jp-code-padding);
  text-align: left;
}

/*-----------------------------------------------------------------------------
| RenderedHTML
|----------------------------------------------------------------------------*/

.jp-RenderedHTMLCommon {
  color: var(--jp-content-font-color1);
  font-family: var(--jp-content-font-family);
  font-size: var(--jp-content-font-size1);
  line-height: var(--jp-content-line-height);

  /* Give a bit more R padding on Markdown text to keep line lengths reasonable */
  padding-right: 20px;
}

.jp-RenderedHTMLCommon em {
  font-style: italic;
}

.jp-RenderedHTMLCommon strong {
  font-weight: bold;
}

.jp-RenderedHTMLCommon u {
  text-decoration: underline;
}

.jp-RenderedHTMLCommon a:link {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:hover {
  text-decoration: underline;
  color: var(--jp-content-link-color);
}

.jp-RenderedHTMLCommon a:visited {
  text-decoration: none;
  color: var(--jp-content-link-color);
}

/* Headings */

.jp-RenderedHTMLCommon h1,
.jp-RenderedHTMLCommon h2,
.jp-RenderedHTMLCommon h3,
.jp-RenderedHTMLCommon h4,
.jp-RenderedHTMLCommon h5,
.jp-RenderedHTMLCommon h6 {
  line-height: var(--jp-content-heading-line-height);
  font-weight: var(--jp-content-heading-font-weight);
  font-style: normal;
  margin: var(--jp-content-heading-margin-top) 0
    var(--jp-content-heading-margin-bottom) 0;
}

.jp-RenderedHTMLCommon h1:first-child,
.jp-RenderedHTMLCommon h2:first-child,
.jp-RenderedHTMLCommon h3:first-child,
.jp-RenderedHTMLCommon h4:first-child,
.jp-RenderedHTMLCommon h5:first-child,
.jp-RenderedHTMLCommon h6:first-child {
  margin-top: calc(0.5 * var(--jp-content-heading-margin-top));
}

.jp-RenderedHTMLCommon h1:last-child,
.jp-RenderedHTMLCommon h2:last-child,
.jp-RenderedHTMLCommon h3:last-child,
.jp-RenderedHTMLCommon h4:last-child,
.jp-RenderedHTMLCommon h5:last-child,
.jp-RenderedHTMLCommon h6:last-child {
  margin-bottom: calc(0.5 * var(--jp-content-heading-margin-bottom));
}

.jp-RenderedHTMLCommon h1 {
  font-size: var(--jp-content-font-size5);
}

.jp-RenderedHTMLCommon h2 {
  font-size: var(--jp-content-font-size4);
}

.jp-RenderedHTMLCommon h3 {
  font-size: var(--jp-content-font-size3);
}

.jp-RenderedHTMLCommon h4 {
  font-size: var(--jp-content-font-size2);
}

.jp-RenderedHTMLCommon h5 {
  font-size: var(--jp-content-font-size1);
}

.jp-RenderedHTMLCommon h6 {
  font-size: var(--jp-content-font-size0);
}

/* Lists */

/* stylelint-disable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon ul:not(.list-inline),
.jp-RenderedHTMLCommon ol:not(.list-inline) {
  padding-left: 2em;
}

.jp-RenderedHTMLCommon ul {
  list-style: disc;
}

.jp-RenderedHTMLCommon ul ul {
  list-style: square;
}

.jp-RenderedHTMLCommon ul ul ul {
  list-style: circle;
}

.jp-RenderedHTMLCommon ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol ol {
  list-style: upper-alpha;
}

.jp-RenderedHTMLCommon ol ol ol {
  list-style: lower-alpha;
}

.jp-RenderedHTMLCommon ol ol ol ol {
  list-style: lower-roman;
}

.jp-RenderedHTMLCommon ol ol ol ol ol {
  list-style: decimal;
}

.jp-RenderedHTMLCommon ol,
.jp-RenderedHTMLCommon ul {
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon ul ul,
.jp-RenderedHTMLCommon ul ol,
.jp-RenderedHTMLCommon ol ul,
.jp-RenderedHTMLCommon ol ol {
  margin-bottom: 0;
}

/* stylelint-enable selector-max-type, selector-max-compound-selectors */

.jp-RenderedHTMLCommon hr {
  color: var(--jp-border-color2);
  background-color: var(--jp-border-color1);
  margin-top: 1em;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon > pre {
  margin: 1.5em 2em;
}

.jp-RenderedHTMLCommon pre,
.jp-RenderedHTMLCommon code {
  border: 0;
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  line-height: var(--jp-code-line-height);
  padding: 0;
  white-space: pre-wrap;
}

.jp-RenderedHTMLCommon :not(pre) > code {
  background-color: var(--jp-layout-color2);
  padding: 1px 5px;
}

/* Tables */

.jp-RenderedHTMLCommon table {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  table-layout: fixed;
  margin-left: auto;
  margin-bottom: 1em;
  margin-right: auto;
}

.jp-RenderedHTMLCommon thead {
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  vertical-align: bottom;
}

.jp-RenderedHTMLCommon td,
.jp-RenderedHTMLCommon th,
.jp-RenderedHTMLCommon tr {
  vertical-align: middle;
  padding: 0.5em;
  line-height: normal;
  white-space: normal;
  max-width: none;
  border: none;
}

.jp-RenderedMarkdown.jp-RenderedHTMLCommon td,
.jp-RenderedMarkdown.jp-RenderedHTMLCommon th {
  max-width: none;
}

:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon td,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon th,
:not(.jp-RenderedMarkdown).jp-RenderedHTMLCommon tr {
  text-align: right;
}

.jp-RenderedHTMLCommon th {
  font-weight: bold;
}

.jp-RenderedHTMLCommon tbody tr:nth-child(odd) {
  background: var(--jp-layout-color0);
}

.jp-RenderedHTMLCommon tbody tr:nth-child(even) {
  background: var(--jp-rendermime-table-row-background);
}

.jp-RenderedHTMLCommon tbody tr:hover {
  background: var(--jp-rendermime-table-row-hover-background);
}

.jp-RenderedHTMLCommon p {
  text-align: left;
  margin: 0;
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon img {
  -moz-force-broken-image-icon: 1;
}

/* Restrict to direct children as other images could be nested in other content. */
.jp-RenderedHTMLCommon > img {
  display: block;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 1em;
}

/* Change color behind transparent images if they need it... */
[data-jp-theme-light='false'] .jp-RenderedImage img.jp-needs-light-background {
  background-color: var(--jp-inverse-layout-color1);
}

[data-jp-theme-light='true'] .jp-RenderedImage img.jp-needs-dark-background {
  background-color: var(--jp-inverse-layout-color1);
}

.jp-RenderedHTMLCommon img,
.jp-RenderedImage img,
.jp-RenderedHTMLCommon svg,
.jp-RenderedSVG svg {
  max-width: 100%;
  height: auto;
}

.jp-RenderedHTMLCommon img.jp-mod-unconfined,
.jp-RenderedImage img.jp-mod-unconfined,
.jp-RenderedHTMLCommon svg.jp-mod-unconfined,
.jp-RenderedSVG svg.jp-mod-unconfined {
  max-width: none;
}

.jp-RenderedHTMLCommon .alert {
  padding: var(--jp-notebook-padding);
  border: var(--jp-border-width) solid transparent;
  border-radius: var(--jp-border-radius);
  margin-bottom: 1em;
}

.jp-RenderedHTMLCommon .alert-info {
  color: var(--jp-info-color0);
  background-color: var(--jp-info-color3);
  border-color: var(--jp-info-color2);
}

.jp-RenderedHTMLCommon .alert-info hr {
  border-color: var(--jp-info-color3);
}

.jp-RenderedHTMLCommon .alert-info > p:last-child,
.jp-RenderedHTMLCommon .alert-info > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-warning {
  color: var(--jp-warn-color0);
  background-color: var(--jp-warn-color3);
  border-color: var(--jp-warn-color2);
}

.jp-RenderedHTMLCommon .alert-warning hr {
  border-color: var(--jp-warn-color3);
}

.jp-RenderedHTMLCommon .alert-warning > p:last-child,
.jp-RenderedHTMLCommon .alert-warning > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-success {
  color: var(--jp-success-color0);
  background-color: var(--jp-success-color3);
  border-color: var(--jp-success-color2);
}

.jp-RenderedHTMLCommon .alert-success hr {
  border-color: var(--jp-success-color3);
}

.jp-RenderedHTMLCommon .alert-success > p:last-child,
.jp-RenderedHTMLCommon .alert-success > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon .alert-danger {
  color: var(--jp-error-color0);
  background-color: var(--jp-error-color3);
  border-color: var(--jp-error-color2);
}

.jp-RenderedHTMLCommon .alert-danger hr {
  border-color: var(--jp-error-color3);
}

.jp-RenderedHTMLCommon .alert-danger > p:last-child,
.jp-RenderedHTMLCommon .alert-danger > ul:last-child {
  margin-bottom: 0;
}

.jp-RenderedHTMLCommon blockquote {
  margin: 1em 2em;
  padding: 0 1em;
  border-left: 5px solid var(--jp-border-color2);
}

a.jp-InternalAnchorLink {
  visibility: hidden;
  margin-left: 8px;
  color: var(--md-blue-800);
}

h1:hover .jp-InternalAnchorLink,
h2:hover .jp-InternalAnchorLink,
h3:hover .jp-InternalAnchorLink,
h4:hover .jp-InternalAnchorLink,
h5:hover .jp-InternalAnchorLink,
h6:hover .jp-InternalAnchorLink {
  visibility: visible;
}

.jp-RenderedHTMLCommon kbd {
  background-color: var(--jp-rendermime-table-row-background);
  border: 1px solid var(--jp-border-color0);
  border-bottom-color: var(--jp-border-color2);
  border-radius: 3px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
  display: inline-block;
  font-size: var(--jp-ui-font-size0);
  line-height: 1em;
  padding: 0.2em 0.5em;
}

/* Most direct children of .jp-RenderedHTMLCommon have a margin-bottom of 1.0.
 * At the bottom of cells this is a bit too much as there is also spacing
 * between cells. Going all the way to 0 gets too tight between markdown and
 * code cells.
 */
.jp-RenderedHTMLCommon > *:last-child {
  margin-bottom: 0.5em;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Copyright (c) 2014-2017, PhosphorJS Contributors
|
| Distributed under the terms of the BSD 3-Clause License.
|
| The full license is in the file LICENSE, distributed with this software.
|----------------------------------------------------------------------------*/

.lm-cursor-backdrop {
  position: fixed;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  will-change: transform;
  z-index: 100;
}

.lm-mod-drag-image {
  will-change: transform;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-lineFormSearch {
  padding: 4px 12px;
  background-color: var(--jp-layout-color2);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
  font-size: var(--jp-ui-font-size1);
}

.jp-lineFormCaption {
  font-size: var(--jp-ui-font-size0);
  line-height: var(--jp-ui-font-size1);
  margin-top: 4px;
  color: var(--jp-ui-font-color0);
}

.jp-baseLineForm {
  border: none;
  border-radius: 0;
  position: absolute;
  background-size: 16px;
  background-repeat: no-repeat;
  background-position: center;
  outline: none;
}

.jp-lineFormButtonContainer {
  top: 4px;
  right: 8px;
  height: 24px;
  padding: 0 12px;
  width: 12px;
}

.jp-lineFormButtonIcon {
  top: 0;
  right: 0;
  background-color: var(--jp-brand-color1);
  height: 100%;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 6px;
}

.jp-lineFormButton {
  top: 0;
  right: 0;
  background-color: transparent;
  height: 100%;
  width: 100%;
  box-sizing: border-box;
}

.jp-lineFormWrapper {
  overflow: hidden;
  padding: 0 8px;
  border: 1px solid var(--jp-border-color0);
  background-color: var(--jp-input-active-background);
  height: 22px;
}

.jp-lineFormWrapperFocusWithin {
  border: var(--jp-border-width) solid var(--md-blue-500);
  box-shadow: inset 0 0 4px var(--md-blue-300);
}

.jp-lineFormInput {
  background: transparent;
  width: 200px;
  height: 100%;
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  line-height: 28px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) 2014-2016, Jupyter Development Team.
|
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-JSONEditor {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.jp-JSONEditor-host {
  flex: 1 1 auto;
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  border-radius: 0;
  background: var(--jp-layout-color0);
  min-height: 50px;
  padding: 1px;
}

.jp-JSONEditor.jp-mod-error .jp-JSONEditor-host {
  border-color: red;
  outline-color: red;
}

.jp-JSONEditor-header {
  display: flex;
  flex: 1 0 auto;
  padding: 0 0 0 12px;
}

.jp-JSONEditor-header label {
  flex: 0 0 auto;
}

.jp-JSONEditor-commitButton {
  height: 16px;
  width: 16px;
  background-size: 18px;
  background-repeat: no-repeat;
  background-position: center;
}

.jp-JSONEditor-host.jp-mod-focused {
  background-color: var(--jp-input-active-background);
  border: 1px solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

.jp-Editor.jp-mod-dropTarget {
  border: var(--jp-border-width) solid var(--jp-input-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/
.jp-DocumentSearch-input {
  border: none;
  outline: none;
  color: var(--jp-ui-font-color0);
  font-size: var(--jp-ui-font-size1);
  background-color: var(--jp-layout-color0);
  font-family: var(--jp-ui-font-family);
  padding: 2px 1px;
  resize: none;
}

.jp-DocumentSearch-overlay {
  position: absolute;
  background-color: var(--jp-toolbar-background);
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  border-left: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  top: 0;
  right: 0;
  z-index: 7;
  min-width: 405px;
  padding: 2px;
  font-size: var(--jp-ui-font-size1);

  --jp-private-document-search-button-height: 20px;
}

.jp-DocumentSearch-overlay button {
  background-color: var(--jp-toolbar-background);
  outline: 0;
}

.jp-DocumentSearch-overlay button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-overlay button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-overlay-row {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
}

.jp-DocumentSearch-button-content {
  display: inline-block;
  cursor: pointer;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-button-content svg {
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-input-wrapper {
  border: var(--jp-border-width) solid var(--jp-border-color0);
  display: flex;
  background-color: var(--jp-layout-color0);
  margin: 2px;
}

.jp-DocumentSearch-input-wrapper:focus-within {
  border-color: var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper {
  all: initial;
  overflow: hidden;
  display: inline-block;
  border: none;
  box-sizing: border-box;
}

.jp-DocumentSearch-toggle-wrapper {
  width: 14px;
  height: 14px;
}

.jp-DocumentSearch-button-wrapper {
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
}

.jp-DocumentSearch-toggle-wrapper:focus,
.jp-DocumentSearch-button-wrapper:focus {
  outline: var(--jp-border-width) solid
    var(--jp-cell-editor-active-border-color);
  outline-offset: -1px;
}

.jp-DocumentSearch-toggle-wrapper,
.jp-DocumentSearch-button-wrapper,
.jp-DocumentSearch-button-content:focus {
  outline: none;
}

.jp-DocumentSearch-toggle-placeholder {
  width: 5px;
}

.jp-DocumentSearch-input-button::before {
  display: block;
  padding-top: 100%;
}

.jp-DocumentSearch-input-button-off {
  opacity: var(--jp-search-toggle-off-opacity);
}

.jp-DocumentSearch-input-button-off:hover {
  opacity: var(--jp-search-toggle-hover-opacity);
}

.jp-DocumentSearch-input-button-on {
  opacity: var(--jp-search-toggle-on-opacity);
}

.jp-DocumentSearch-index-counter {
  padding-left: 10px;
  padding-right: 10px;
  user-select: none;
  min-width: 35px;
  display: inline-block;
}

.jp-DocumentSearch-up-down-wrapper {
  display: inline-block;
  padding-right: 2px;
  margin-left: auto;
  white-space: nowrap;
}

.jp-DocumentSearch-spacer {
  margin-left: auto;
}

.jp-DocumentSearch-up-down-wrapper button {
  outline: 0;
  border: none;
  width: var(--jp-private-document-search-button-height);
  height: var(--jp-private-document-search-button-height);
  vertical-align: middle;
  margin: 1px 5px 2px;
}

.jp-DocumentSearch-up-down-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-up-down-button:active {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-filter-button {
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-filter-button:hover {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled {
  background-color: var(--jp-layout-color2);
}

.jp-DocumentSearch-filter-button-enabled:hover {
  background-color: var(--jp-layout-color3);
}

.jp-DocumentSearch-search-options {
  padding: 0 8px;
  margin-left: 3px;
  width: 100%;
  display: grid;
  justify-content: start;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  justify-items: stretch;
}

.jp-DocumentSearch-search-filter-disabled {
  color: var(--jp-ui-font-color2);
}

.jp-DocumentSearch-search-filter {
  display: flex;
  align-items: center;
  user-select: none;
}

.jp-DocumentSearch-regex-error {
  color: var(--jp-error-color0);
}

.jp-DocumentSearch-replace-button-wrapper {
  overflow: hidden;
  display: inline-block;
  box-sizing: border-box;
  border: var(--jp-border-width) solid var(--jp-border-color0);
  margin: auto 2px;
  padding: 1px 4px;
  height: calc(var(--jp-private-document-search-button-height) + 2px);
}

.jp-DocumentSearch-replace-button-wrapper:focus {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
}

.jp-DocumentSearch-replace-button {
  display: inline-block;
  text-align: center;
  cursor: pointer;
  box-sizing: border-box;
  color: var(--jp-ui-font-color1);

  /* height - 2 * (padding of wrapper) */
  line-height: calc(var(--jp-private-document-search-button-height) - 2px);
  width: 100%;
  height: 100%;
}

.jp-DocumentSearch-replace-button:focus {
  outline: none;
}

.jp-DocumentSearch-replace-wrapper-class {
  margin-left: 14px;
  display: flex;
}

.jp-DocumentSearch-replace-toggle {
  border: none;
  background-color: var(--jp-toolbar-background);
  border-radius: var(--jp-border-radius);
}

.jp-DocumentSearch-replace-toggle:hover {
  background-color: var(--jp-layout-color2);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.cm-editor {
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  border: 0;
  border-radius: 0;
  height: auto;

  /* Changed to auto to autogrow */
}

.cm-editor pre {
  padding: 0 var(--jp-code-padding);
}

.jp-CodeMirrorEditor[data-type='inline'] .cm-dialog {
  background-color: var(--jp-layout-color0);
  color: var(--jp-content-font-color1);
}

.jp-CodeMirrorEditor {
  cursor: text;
}

/* When zoomed out 67% and 33% on a screen of 1440 width x 900 height */
@media screen and (min-width: 2138px) and (max-width: 4319px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width1) solid
      var(--jp-editor-cursor-color);
  }
}

/* When zoomed out less than 33% */
@media screen and (min-width: 4320px) {
  .jp-CodeMirrorEditor[data-type='inline'] .cm-cursor {
    border-left: var(--jp-code-cursor-width2) solid
      var(--jp-editor-cursor-color);
  }
}

.cm-editor.jp-mod-readOnly .cm-cursor {
  display: none;
}

.jp-CollaboratorCursor {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: none;
  border-bottom: 3px solid;
  background-clip: content-box;
  margin-left: -5px;
  margin-right: -5px;
}

.cm-searching,
.cm-searching span {
  /* `.cm-searching span`: we need to override syntax highlighting */
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.cm-searching::selection,
.cm-searching span::selection {
  background-color: var(--jp-search-unselected-match-background-color);
  color: var(--jp-search-unselected-match-color);
}

.jp-current-match > .cm-searching,
.jp-current-match > .cm-searching span,
.cm-searching > .jp-current-match,
.cm-searching > .jp-current-match span {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.jp-current-match > .cm-searching::selection,
.cm-searching > .jp-current-match::selection,
.jp-current-match > .cm-searching span::selection {
  background-color: var(--jp-search-selected-match-background-color);
  color: var(--jp-search-selected-match-color);
}

.cm-trailingspace {
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAsElEQVQIHQGlAFr/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA7+r3zKmT0/+pk9P/7+r3zAAAAAAAAAAABAAAAAAAAAAA6OPzM+/q9wAAAAAA6OPzMwAAAAAAAAAAAgAAAAAAAAAAGR8NiRQaCgAZIA0AGR8NiQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQyoYJ/SY80UAAAAASUVORK5CYII=);
  background-position: center left;
  background-repeat: repeat-x;
}

.jp-CollaboratorCursor-hover {
  position: absolute;
  z-index: 1;
  transform: translateX(-50%);
  color: white;
  border-radius: 3px;
  padding-left: 4px;
  padding-right: 4px;
  padding-top: 1px;
  padding-bottom: 1px;
  text-align: center;
  font-size: var(--jp-ui-font-size1);
  white-space: nowrap;
}

.jp-CodeMirror-ruler {
  border-left: 1px dashed var(--jp-border-color2);
}

/* Styles for shared cursors (remote cursor locations and selected ranges) */
.jp-CodeMirrorEditor .cm-ySelectionCaret {
  position: relative;
  border-left: 1px solid black;
  margin-left: -1px;
  margin-right: -1px;
  box-sizing: border-box;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret > .cm-ySelectionInfo {
  white-space: nowrap;
  position: absolute;
  top: -1.15em;
  padding-bottom: 0.05em;
  left: -1px;
  font-size: 0.95em;
  font-family: var(--jp-ui-font-family);
  font-weight: bold;
  line-height: normal;
  user-select: none;
  color: white;
  padding-left: 2px;
  padding-right: 2px;
  z-index: 101;
  transition: opacity 0.3s ease-in-out;
}

.jp-CodeMirrorEditor .cm-ySelectionInfo {
  transition-delay: 0.7s;
  opacity: 0;
}

.jp-CodeMirrorEditor .cm-ySelectionCaret:hover > .cm-ySelectionInfo {
  opacity: 1;
  transition-delay: 0s;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-MimeDocument {
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-filebrowser-button-height: 28px;
  --jp-private-filebrowser-button-width: 48px;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-FileBrowser .jp-SidePanel-content {
  display: flex;
  flex-direction: column;
}

.jp-FileBrowser-toolbar.jp-Toolbar {
  flex-wrap: wrap;
  row-gap: 12px;
  border-bottom: none;
  height: auto;
  margin: 8px 12px 0;
  box-shadow: none;
  padding: 0;
  justify-content: flex-start;
}

.jp-FileBrowser-Panel {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}

.jp-BreadCrumbs {
  flex: 0 0 auto;
  margin: 8px 12px;
}

.jp-BreadCrumbs-item {
  margin: 0 2px;
  padding: 0 2px;
  border-radius: var(--jp-border-radius);
  cursor: pointer;
}

.jp-BreadCrumbs-item:hover {
  background-color: var(--jp-layout-color2);
}

.jp-BreadCrumbs-item:first-child {
  margin-left: 0;
}

.jp-BreadCrumbs-item.jp-mod-dropTarget {
  background-color: var(--jp-brand-color2);
  opacity: 0.7;
}

/*-----------------------------------------------------------------------------
| Buttons
|----------------------------------------------------------------------------*/

.jp-FileBrowser-toolbar > .jp-Toolbar-item {
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 2px;
  align-items: center;
  height: unset;
}

.jp-FileBrowser-toolbar > .jp-Toolbar-item .jp-ToolbarButtonComponent {
  width: 40px;
}

/*-----------------------------------------------------------------------------
| Other styles
|----------------------------------------------------------------------------*/

.jp-FileDialog.jp-mod-conflict input {
  color: var(--jp-error-color1);
}

.jp-FileDialog .jp-new-name-title {
  margin-top: 12px;
}

.jp-LastModified-hidden {
  display: none;
}

.jp-FileSize-hidden {
  display: none;
}

.jp-FileBrowser .lm-AccordionPanel > h3:first-child {
  display: none;
}

/*-----------------------------------------------------------------------------
| DirListing
|----------------------------------------------------------------------------*/

.jp-DirListing {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  outline: 0;
}

.jp-DirListing-header {
  flex: 0 0 auto;
  display: flex;
  flex-direction: row;
  align-items: center;
  overflow: hidden;
  border-top: var(--jp-border-width) solid var(--jp-border-color2);
  border-bottom: var(--jp-border-width) solid var(--jp-border-color1);
  box-shadow: var(--jp-toolbar-box-shadow);
  z-index: 2;
}

.jp-DirListing-headerItem {
  padding: 4px 12px 2px;
  font-weight: 500;
}

.jp-DirListing-headerItem:hover {
  background: var(--jp-layout-color2);
}

.jp-DirListing-headerItem.jp-id-name {
  flex: 1 0 84px;
}

.jp-DirListing-headerItem.jp-id-modified {
  flex: 0 0 112px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-DirListing-headerItem.jp-id-filesize {
  flex: 0 0 75px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
}

.jp-id-narrow {
  display: none;
  flex: 0 0 5px;
  padding: 4px;
  border-left: var(--jp-border-width) solid var(--jp-border-color2);
  text-align: right;
  color: var(--jp-border-color2);
}

.jp-DirListing-narrow .jp-id-narrow {
  display: block;
}

.jp-DirListing-narrow .jp-id-modified,
.jp-DirListing-narrow .jp-DirListing-itemModified {
  display: none;
}

.jp-DirListing-headerItem.jp-mod-selected {
  font-weight: 600;
}

/* increase specificity to override bundled default */
.jp-DirListing-content {
  flex: 1 1 auto;
  margin: 0;
  padding: 0;
  list-style-type: none;
  overflow: auto;
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-content mark {
  color: var(--jp-ui-font-color0);
  background-color: transparent;
  font-weight: bold;
}

.jp-DirListing-content .jp-DirListing-item.jp-mod-selected mark {
  color: var(--jp-ui-inverse-font-color0);
}

/* Style the directory listing content when a user drops a file to upload */
.jp-DirListing.jp-mod-native-drop .jp-DirListing-content {
  outline: 5px dashed rgba(128, 128, 128, 0.5);
  outline-offset: -10px;
  cursor: copy;
}

.jp-DirListing-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 4px 12px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-DirListing-checkboxWrapper {
  /* Increases hit area of checkbox. */
  padding: 4px;
}

.jp-DirListing-header
  .jp-DirListing-checkboxWrapper
  + .jp-DirListing-headerItem {
  padding-left: 4px;
}

.jp-DirListing-content .jp-DirListing-checkboxWrapper {
  position: relative;
  left: -4px;
  margin: -4px 0 -4px -8px;
}

.jp-DirListing-checkboxWrapper.jp-mod-visible {
  visibility: visible;
}

/* For devices that support hovering, hide checkboxes until hovered, selected...
*/
@media (hover: hover) {
  .jp-DirListing-checkboxWrapper {
    visibility: hidden;
  }

  .jp-DirListing-item:hover .jp-DirListing-checkboxWrapper,
  .jp-DirListing-item.jp-mod-selected .jp-DirListing-checkboxWrapper {
    visibility: visible;
  }
}

.jp-DirListing-item[data-is-dot] {
  opacity: 75%;
}

.jp-DirListing-item.jp-mod-selected {
  color: var(--jp-ui-inverse-font-color1);
  background: var(--jp-brand-color1);
}

.jp-DirListing-item.jp-mod-dropTarget {
  background: var(--jp-brand-color3);
}

.jp-DirListing-item:hover:not(.jp-mod-selected) {
  background: var(--jp-layout-color2);
}

.jp-DirListing-itemIcon {
  flex: 0 0 20px;
  margin-right: 4px;
}

.jp-DirListing-itemText {
  flex: 1 0 64px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  user-select: none;
}

.jp-DirListing-itemText:focus {
  outline-width: 2px;
  outline-color: var(--jp-inverse-layout-color1);
  outline-style: solid;
  outline-offset: 1px;
}

.jp-DirListing-item.jp-mod-selected .jp-DirListing-itemText:focus {
  outline-color: var(--jp-layout-color1);
}

.jp-DirListing-itemModified {
  flex: 0 0 125px;
  text-align: right;
}

.jp-DirListing-itemFileSize {
  flex: 0 0 90px;
  text-align: right;
}

.jp-DirListing-editor {
  flex: 1 0 64px;
  outline: none;
  border: none;
  color: var(--jp-ui-font-color1);
  background-color: var(--jp-layout-color1);
}

.jp-DirListing-item.jp-mod-running .jp-DirListing-itemIcon::before {
  color: var(--jp-success-color1);
  content: '\25CF';
  font-size: 8px;
  position: absolute;
  left: -8px;
}

.jp-DirListing-item.jp-mod-running.jp-mod-selected
  .jp-DirListing-itemIcon::before {
  color: var(--jp-ui-inverse-font-color1);
}

.jp-DirListing-item.lm-mod-drag-image,
.jp-DirListing-item.jp-mod-selected.lm-mod-drag-image {
  font-size: var(--jp-ui-font-size1);
  padding-left: 4px;
  margin-left: 4px;
  width: 160px;
  background-color: var(--jp-ui-inverse-font-color2);
  box-shadow: var(--jp-elevation-z2);
  border-radius: 0;
  color: var(--jp-ui-font-color1);
  transform: translateX(-40%) translateY(-58%);
}

.jp-Document {
  min-width: 120px;
  min-height: 120px;
  outline: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Main OutputArea
| OutputArea has a list of Outputs
|----------------------------------------------------------------------------*/

.jp-OutputArea {
  overflow-y: auto;
}

.jp-OutputArea-child {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-OutputPrompt {
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-outprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
  opacity: var(--jp-cell-prompt-opacity);

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-OutputArea-prompt {
  display: table-cell;
  vertical-align: top;
}

.jp-OutputArea-output {
  display: table-cell;
  width: 100%;
  height: auto;
  overflow: auto;
  user-select: text;
  -moz-user-select: text;
  -webkit-user-select: text;
  -ms-user-select: text;
}

.jp-OutputArea .jp-RenderedText {
  padding-left: 1ch;
}

/**
 * Prompt overlay.
 */

.jp-OutputArea-promptOverlay {
  position: absolute;
  top: 0;
  width: var(--jp-cell-prompt-width);
  height: 100%;
  opacity: 0.5;
}

.jp-OutputArea-promptOverlay:hover {
  background: var(--jp-layout-color2);
  box-shadow: inset 0 0 1px var(--jp-inverse-layout-color0);
  cursor: zoom-out;
}

.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay:hover {
  cursor: zoom-in;
}

/**
 * Isolated output.
 */
.jp-OutputArea-output.jp-mod-isolated {
  width: 100%;
  display: block;
}

/*
When drag events occur, `lm-mod-override-cursor` is added to the body.
Because iframes steal all cursor events, the following two rules are necessary
to suppress pointer events while resize drags are occurring. There may be a
better solution to this problem.
*/
body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated {
  position: relative;
}

body.lm-mod-override-cursor .jp-OutputArea-output.jp-mod-isolated::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
}

/* pre */

.jp-OutputArea-output pre {
  border: none;
  margin: 0;
  padding: 0;
  overflow-x: auto;
  overflow-y: auto;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre-wrap;
}

/* tables */

.jp-OutputArea-output.jp-RenderedHTMLCommon table {
  margin-left: 0;
  margin-right: 0;
}

/* description lists */

.jp-OutputArea-output dl,
.jp-OutputArea-output dt,
.jp-OutputArea-output dd {
  display: block;
}

.jp-OutputArea-output dl {
  width: 100%;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dt {
  font-weight: bold;
  float: left;
  width: 20%;
  padding: 0;
  margin: 0;
}

.jp-OutputArea-output dd {
  float: left;
  width: 80%;
  padding: 0;
  margin: 0;
}

.jp-TrimmedOutputs pre {
  background: var(--jp-layout-color3);
  font-size: calc(var(--jp-code-font-size) * 1.4);
  text-align: center;
  text-transform: uppercase;
}

/* Hide the gutter in case of
 *  - nested output areas (e.g. in the case of output widgets)
 *  - mirrored output areas
 */
.jp-OutputArea .jp-OutputArea .jp-OutputArea-prompt {
  display: none;
}

/* Hide empty lines in the output area, for instance due to cleared widgets */
.jp-OutputArea-prompt:empty {
  padding: 0;
  border: 0;
}

/*-----------------------------------------------------------------------------
| executeResult is added to any Output-result for the display of the object
| returned by a cell
|----------------------------------------------------------------------------*/

.jp-OutputArea-output.jp-OutputArea-executeResult {
  margin-left: 0;
  width: 100%;
}

/* Text output with the Out[] prompt needs a top padding to match the
 * alignment of the Out[] prompt itself.
 */
.jp-OutputArea-executeResult .jp-RenderedText.jp-OutputArea-output {
  padding-top: var(--jp-code-padding);
  border-top: var(--jp-border-width) solid transparent;
}

/*-----------------------------------------------------------------------------
| The Stdin output
|----------------------------------------------------------------------------*/

.jp-Stdin-prompt {
  color: var(--jp-content-font-color0);
  padding-right: var(--jp-code-padding);
  vertical-align: baseline;
  flex: 0 0 auto;
}

.jp-Stdin-input {
  font-family: var(--jp-code-font-family);
  font-size: inherit;
  color: inherit;
  background-color: inherit;
  width: 42%;
  min-width: 200px;

  /* make sure input baseline aligns with prompt */
  vertical-align: baseline;

  /* padding + margin = 0.5em between prompt and cursor */
  padding: 0 0.25em;
  margin: 0 0.25em;
  flex: 0 0 70%;
}

.jp-Stdin-input::placeholder {
  opacity: 0;
}

.jp-Stdin-input:focus {
  box-shadow: none;
}

.jp-Stdin-input:focus::placeholder {
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Output Area View
|----------------------------------------------------------------------------*/

.jp-LinkedOutputView .jp-OutputArea {
  height: 100%;
  display: block;
}

.jp-LinkedOutputView .jp-OutputArea-output:only-child {
  height: 100%;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

@media print {
  .jp-OutputArea-child {
    break-inside: avoid-page;
  }
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-OutputPrompt {
    display: table-row;
    text-align: left;
  }

  .jp-OutputArea-child .jp-OutputArea-output {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }
}

/* Trimmed outputs warning */
.jp-TrimmedOutputs > a {
  margin: 10px;
  text-decoration: none;
  cursor: pointer;
}

.jp-TrimmedOutputs > a:hover {
  text-decoration: none;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Table of Contents
|----------------------------------------------------------------------------*/

:root {
  --jp-private-toc-active-width: 4px;
}

.jp-TableOfContents {
  display: flex;
  flex-direction: column;
  background: var(--jp-layout-color1);
  color: var(--jp-ui-font-color1);
  font-size: var(--jp-ui-font-size1);
  height: 100%;
}

.jp-TableOfContents-placeholder {
  text-align: center;
}

.jp-TableOfContents-placeholderContent {
  color: var(--jp-content-font-color2);
  padding: 8px;
}

.jp-TableOfContents-placeholderContent > h3 {
  margin-bottom: var(--jp-content-heading-margin-bottom);
}

.jp-TableOfContents .jp-SidePanel-content {
  overflow-y: auto;
}

.jp-TableOfContents-tree {
  margin: 4px;
}

.jp-TableOfContents ol {
  list-style-type: none;
}

/* stylelint-disable-next-line selector-max-type */
.jp-TableOfContents li > ol {
  /* Align left border with triangle icon center */
  padding-left: 11px;
}

.jp-TableOfContents-content {
  /* left margin for the active heading indicator */
  margin: 0 0 0 var(--jp-private-toc-active-width);
  padding: 0;
  background-color: var(--jp-layout-color1);
}

.jp-tocItem {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.jp-tocItem-heading {
  display: flex;
  cursor: pointer;
}

.jp-tocItem-heading:hover {
  background-color: var(--jp-layout-color2);
}

.jp-tocItem-content {
  display: block;
  padding: 4px 0;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow-x: hidden;
}

.jp-tocItem-collapser {
  height: 20px;
  margin: 2px 2px 0;
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
}

.jp-tocItem-collapser:hover {
  background-color: var(--jp-layout-color3);
}

/* Active heading indicator */

.jp-tocItem-heading::before {
  content: ' ';
  background: transparent;
  width: var(--jp-private-toc-active-width);
  height: 24px;
  position: absolute;
  left: 0;
  border-radius: var(--jp-border-radius);
}

.jp-tocItem-heading.jp-tocItem-active::before {
  background-color: var(--jp-brand-color1);
}

.jp-tocItem-heading:hover.jp-tocItem-active::before {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

.jp-Collapser {
  flex: 0 0 var(--jp-cell-collapser-width);
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: var(--jp-border-radius);
  opacity: 1;
}

.jp-Collapser-child {
  display: block;
  width: 100%;
  box-sizing: border-box;

  /* height: 100% doesn't work because the height of its parent is computed from content */
  position: absolute;
  top: 0;
  bottom: 0;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Hiding collapsers in print mode.

Note: input and output wrappers have "display: block" propery in print mode.
*/

@media print {
  .jp-Collapser {
    display: none;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Header/Footer
|----------------------------------------------------------------------------*/

/* Hidden by zero height by default */
.jp-CellHeader,
.jp-CellFooter {
  height: 0;
  width: 100%;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Input
|----------------------------------------------------------------------------*/

/* All input areas */
.jp-InputArea {
  display: table;
  table-layout: fixed;
  width: 100%;
  overflow: hidden;
}

.jp-InputArea-editor {
  display: table-cell;
  overflow: hidden;
  vertical-align: top;

  /* This is the non-active, default styling */
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  background: var(--jp-cell-editor-background);
}

.jp-InputPrompt {
  display: table-cell;
  vertical-align: top;
  width: var(--jp-cell-prompt-width);
  color: var(--jp-cell-inprompt-font-color);
  font-family: var(--jp-cell-prompt-font-family);
  padding: var(--jp-code-padding);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  opacity: var(--jp-cell-prompt-opacity);
  line-height: var(--jp-code-line-height);
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;

  /* Right align prompt text, don't wrap to handle large prompt numbers */
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;

  /* Disable text selection */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/*-----------------------------------------------------------------------------
| Mobile
|----------------------------------------------------------------------------*/
@media only screen and (max-width: 760px) {
  .jp-InputArea-editor {
    display: table-row;
    margin-left: var(--jp-notebook-padding);
  }

  .jp-InputPrompt {
    display: table-row;
    text-align: left;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Placeholder {
  display: table;
  table-layout: fixed;
  width: 100%;
}

.jp-Placeholder-prompt {
  display: table-cell;
  box-sizing: border-box;
}

.jp-Placeholder-content {
  display: table-cell;
  padding: 4px 6px;
  border: 1px solid transparent;
  border-radius: 0;
  background: none;
  box-sizing: border-box;
  cursor: pointer;
}

.jp-Placeholder-contentContainer {
  display: flex;
}

.jp-Placeholder-content:hover,
.jp-InputPlaceholder > .jp-Placeholder-content:hover {
  border-color: var(--jp-layout-color3);
}

.jp-Placeholder-content .jp-MoreHorizIcon {
  width: 32px;
  height: 16px;
  border: 1px solid transparent;
  border-radius: var(--jp-border-radius);
}

.jp-Placeholder-content .jp-MoreHorizIcon:hover {
  border: 1px solid var(--jp-border-color1);
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
  background-color: var(--jp-layout-color0);
}

.jp-PlaceholderText {
  white-space: nowrap;
  overflow-x: hidden;
  color: var(--jp-inverse-layout-color3);
  font-family: var(--jp-code-font-family);
}

.jp-InputPlaceholder > .jp-Placeholder-content {
  border-color: var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Private CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-private-cell-scrolling-output-offset: 5px;
}

/*-----------------------------------------------------------------------------
| Cell
|----------------------------------------------------------------------------*/

.jp-Cell {
  padding: var(--jp-cell-padding);
  margin: 0;
  border: none;
  outline: none;
  background: transparent;
}

/*-----------------------------------------------------------------------------
| Common input/output
|----------------------------------------------------------------------------*/

.jp-Cell-inputWrapper,
.jp-Cell-outputWrapper {
  display: flex;
  flex-direction: row;
  padding: 0;
  margin: 0;

  /* Added to reveal the box-shadow on the input and output collapsers. */
  overflow: visible;
}

/* Only input/output areas inside cells */
.jp-Cell-inputArea,
.jp-Cell-outputArea {
  flex: 1 1 auto;
}

/*-----------------------------------------------------------------------------
| Collapser
|----------------------------------------------------------------------------*/

/* Make the output collapser disappear when there is not output, but do so
 * in a manner that leaves it in the layout and preserves its width.
 */
.jp-Cell.jp-mod-noOutputs .jp-Cell-outputCollapser {
  border: none !important;
  background: transparent !important;
}

.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputCollapser {
  min-height: var(--jp-cell-collapser-min-height);
}

/*-----------------------------------------------------------------------------
| Output
|----------------------------------------------------------------------------*/

/* Put a space between input and output when there IS output */
.jp-Cell:not(.jp-mod-noOutputs) .jp-Cell-outputWrapper {
  margin-top: 5px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea {
  overflow-y: auto;
  max-height: 24em;
  margin-left: var(--jp-private-cell-scrolling-output-offset);
  resize: vertical;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea[style*='height'] {
  max-height: unset;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-Cell-outputArea::after {
  content: ' ';
  box-shadow: inset 0 0 6px 2px rgb(0 0 0 / 30%);
  width: 100%;
  height: 100%;
  position: sticky;
  bottom: 0;
  top: 0;
  margin-top: -50%;
  float: left;
  display: block;
  pointer-events: none;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-child {
  padding-top: 6px;
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-prompt {
  width: calc(
    var(--jp-cell-prompt-width) - var(--jp-private-cell-scrolling-output-offset)
  );
}

.jp-CodeCell.jp-mod-outputsScrolled .jp-OutputArea-promptOverlay {
  left: calc(-1 * var(--jp-private-cell-scrolling-output-offset));
}

/*-----------------------------------------------------------------------------
| CodeCell
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| MarkdownCell
|----------------------------------------------------------------------------*/

.jp-MarkdownOutput {
  display: table-cell;
  width: 100%;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: var(--jp-code-padding);
}

.jp-MarkdownOutput.jp-RenderedHTMLCommon {
  overflow: auto;
}

/* collapseHeadingButton (show always if hiddenCellsButton is _not_ shown) */
.jp-collapseHeadingButton {
  display: flex;
  min-height: var(--jp-cell-collapser-min-height);
  font-size: var(--jp-code-font-size);
  position: absolute;
  background-color: transparent;
  background-size: 25px;
  background-repeat: no-repeat;
  background-position-x: center;
  background-position-y: top;
  background-image: var(--jp-icon-caret-down);
  right: 0;
  top: 0;
  bottom: 0;
}

.jp-collapseHeadingButton.jp-mod-collapsed {
  background-image: var(--jp-icon-caret-right);
}

/*
 set the container font size to match that of content
 so that the nested collapse buttons have the right size
*/
.jp-MarkdownCell .jp-InputPrompt {
  font-size: var(--jp-content-font-size1);
}

/*
  Align collapseHeadingButton with cell top header
  The font sizes are identical to the ones in packages/rendermime/style/base.css
*/
.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='1'] {
  font-size: var(--jp-content-font-size5);
  background-position-y: calc(0.3 * var(--jp-content-font-size5));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='2'] {
  font-size: var(--jp-content-font-size4);
  background-position-y: calc(0.3 * var(--jp-content-font-size4));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='3'] {
  font-size: var(--jp-content-font-size3);
  background-position-y: calc(0.3 * var(--jp-content-font-size3));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='4'] {
  font-size: var(--jp-content-font-size2);
  background-position-y: calc(0.3 * var(--jp-content-font-size2));
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='5'] {
  font-size: var(--jp-content-font-size1);
  background-position-y: top;
}

.jp-mod-rendered .jp-collapseHeadingButton[data-heading-level='6'] {
  font-size: var(--jp-content-font-size0);
  background-position-y: top;
}

/* collapseHeadingButton (show only on (hover,active) if hiddenCellsButton is shown) */
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-collapseHeadingButton {
  display: none;
}

.jp-Notebook.jp-mod-showHiddenCellsButton
  :is(.jp-MarkdownCell:hover, .jp-mod-active)
  .jp-collapseHeadingButton {
  display: flex;
}

/* showHiddenCellsButton (only show if jp-mod-showHiddenCellsButton is set, which
is a consequence of the showHiddenCellsButton option in Notebook Settings)*/
.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton {
  margin-left: calc(var(--jp-cell-prompt-width) + 2 * var(--jp-code-padding));
  margin-top: var(--jp-code-padding);
  border: 1px solid var(--jp-border-color2);
  background-color: var(--jp-border-color3) !important;
  color: var(--jp-content-font-color0) !important;
  display: flex;
}

.jp-Notebook.jp-mod-showHiddenCellsButton .jp-showHiddenCellsButton:hover {
  background-color: var(--jp-border-color2) !important;
}

.jp-showHiddenCellsButton {
  display: none;
}

/*-----------------------------------------------------------------------------
| Printing
|----------------------------------------------------------------------------*/

/*
Using block instead of flex to allow the use of the break-inside CSS property for
cell outputs.
*/

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

:root {
  --jp-notebook-toolbar-padding: 2px 5px 2px 2px;
}

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-NotebookPanel-toolbar {
  padding: var(--jp-notebook-toolbar-padding);

  /* disable paint containment from lumino 2.0 default strict CSS containment */
  contain: style size !important;
}

.jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused {
  border: none;
  box-shadow: none;
}

.jp-Notebook-toolbarCellTypeDropdown select {
  height: 24px;
  font-size: var(--jp-ui-font-size1);
  line-height: 14px;
  border-radius: 0;
  display: block;
}

.jp-Notebook-toolbarCellTypeDropdown span {
  top: 5px !important;
}

.jp-Toolbar-responsive-popup {
  position: absolute;
  height: fit-content;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color);
  box-shadow: var(--jp-toolbar-box-shadow);
  background: var(--jp-toolbar-background);
  min-height: var(--jp-toolbar-micro-height);
  padding: var(--jp-notebook-toolbar-padding);
  z-index: 1;
  right: 0;
  top: 0;
}

.jp-Toolbar > .jp-Toolbar-responsive-opener {
  margin-left: auto;
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Variables
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------

/*-----------------------------------------------------------------------------
| Styles
|----------------------------------------------------------------------------*/

.jp-Notebook-ExecutionIndicator {
  position: relative;
  display: inline-block;
  height: 100%;
  z-index: 9997;
}

.jp-Notebook-ExecutionIndicator-tooltip {
  visibility: hidden;
  height: auto;
  width: max-content;
  width: -moz-max-content;
  background-color: var(--jp-layout-color2);
  color: var(--jp-ui-font-color1);
  text-align: justify;
  border-radius: 6px;
  padding: 0 5px;
  position: fixed;
  display: table;
}

.jp-Notebook-ExecutionIndicator-tooltip.up {
  transform: translateX(-50%) translateY(-100%) translateY(-32px);
}

.jp-Notebook-ExecutionIndicator-tooltip.down {
  transform: translateX(calc(-100% + 16px)) translateY(5px);
}

.jp-Notebook-ExecutionIndicator-tooltip.hidden {
  display: none;
}

.jp-Notebook-ExecutionIndicator:hover .jp-Notebook-ExecutionIndicator-tooltip {
  visibility: visible;
}

.jp-Notebook-ExecutionIndicator span {
  font-size: var(--jp-ui-font-size1);
  font-family: var(--jp-ui-font-family);
  color: var(--jp-ui-font-color1);
  line-height: 24px;
  display: block;
}

.jp-Notebook-ExecutionIndicator-progress-bar {
  display: flex;
  justify-content: center;
  height: 100%;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

/*
 * Execution indicator
 */
.jp-tocItem-content::after {
  content: '';

  /* Must be identical to form a circle */
  width: 12px;
  height: 12px;
  background: none;
  border: none;
  position: absolute;
  right: 0;
}

.jp-tocItem-content[data-running='0']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background: none;
}

.jp-tocItem-content[data-running='1']::after {
  border-radius: 50%;
  border: var(--jp-border-width) solid var(--jp-inverse-layout-color3);
  background-color: var(--jp-inverse-layout-color3);
}

.jp-tocItem-content[data-running='0'],
.jp-tocItem-content[data-running='1'] {
  margin-right: 12px;
}

/*
 * Copyright (c) Jupyter Development Team.
 * Distributed under the terms of the Modified BSD License.
 */

.jp-Notebook-footer {
  height: 27px;
  margin-left: calc(
    var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
      var(--jp-cell-padding)
  );
  width: calc(
    100% -
      (
        var(--jp-cell-prompt-width) + var(--jp-cell-collapser-width) +
          var(--jp-cell-padding) + var(--jp-cell-padding)
      )
  );
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  color: var(--jp-ui-font-color3);
  margin-top: 6px;
  background: none;
  cursor: pointer;
}

.jp-Notebook-footer:focus {
  border-color: var(--jp-cell-editor-active-border-color);
}

/* For devices that support hovering, hide footer until hover */
@media (hover: hover) {
  .jp-Notebook-footer {
    opacity: 0;
  }

  .jp-Notebook-footer:focus,
  .jp-Notebook-footer:hover {
    opacity: 1;
  }
}

/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| Imports
|----------------------------------------------------------------------------*/

/*-----------------------------------------------------------------------------
| CSS variables
|----------------------------------------------------------------------------*/

:root {
  --jp-side-by-side-output-size: 1fr;
  --jp-side-by-side-resized-cell: var(--jp-side-by-side-output-size);
  --jp-private-notebook-dragImage-width: 304px;
  --jp-private-notebook-dragImage-height: 36px;
  --jp-private-notebook-selected-color: var(--md-blue-400);
  --jp-private-notebook-active-color: var(--md-green-400);
}

/*-----------------------------------------------------------------------------
| Notebook
|----------------------------------------------------------------------------*/

/* stylelint-disable selector-max-class */

.jp-NotebookPanel {
  display: block;
  height: 100%;
}

.jp-NotebookPanel.jp-Document {
  min-width: 240px;
  min-height: 120px;
}

.jp-Notebook {
  padding: var(--jp-notebook-padding);
  outline: none;
  overflow: auto;
  background: var(--jp-layout-color0);
}

.jp-Notebook.jp-mod-scrollPastEnd::after {
  display: block;
  content: '';
  min-height: var(--jp-notebook-scroll-padding);
}

.jp-MainAreaWidget-ContainStrict .jp-Notebook * {
  contain: strict;
}

.jp-Notebook .jp-Cell {
  overflow: visible;
}

.jp-Notebook .jp-Cell .jp-InputPrompt {
  cursor: move;
}

/*-----------------------------------------------------------------------------
| Notebook state related styling
|
| The notebook and cells each have states, here are the possibilities:
|
| - Notebook
|   - Command
|   - Edit
| - Cell
|   - None
|   - Active (only one can be active)
|   - Selected (the cells actions are applied to)
|   - Multiselected (when multiple selected, the cursor)
|   - No outputs
|----------------------------------------------------------------------------*/

/* Command or edit modes */

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-InputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

.jp-Notebook .jp-Cell:not(.jp-mod-active) .jp-OutputPrompt {
  opacity: var(--jp-cell-prompt-not-active-opacity);
  color: var(--jp-cell-prompt-not-active-font-color);
}

/* cell is active */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser {
  background: var(--jp-brand-color1);
}

/* cell is dirty */
.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt {
  color: var(--jp-warn-color1);
}

.jp-Notebook .jp-Cell.jp-mod-dirty .jp-InputPrompt::before {
  color: var(--jp-warn-color1);
  content: '•';
}

.jp-Notebook .jp-Cell.jp-mod-active.jp-mod-dirty .jp-Collapser {
  background: var(--jp-warn-color1);
}

/* collapser is hovered */
.jp-Notebook .jp-Cell .jp-Collapser:hover {
  box-shadow: var(--jp-elevation-z2);
  background: var(--jp-brand-color1);
  opacity: var(--jp-cell-collapser-not-active-hover-opacity);
}

/* cell is active and collapser is hovered */
.jp-Notebook .jp-Cell.jp-mod-active .jp-Collapser:hover {
  background: var(--jp-brand-color0);
  opacity: 1;
}

/* Command mode */

.jp-Notebook.jp-mod-commandMode .jp-Cell.jp-mod-selected {
  background: var(--jp-notebook-multiselected-color);
}

.jp-Notebook.jp-mod-commandMode
  .jp-Cell.jp-mod-active.jp-mod-selected:not(.jp-mod-multiSelected) {
  background: transparent;
}

/* Edit mode */

.jp-Notebook.jp-mod-editMode .jp-Cell.jp-mod-active .jp-InputArea-editor {
  border: var(--jp-border-width) solid var(--jp-cell-editor-active-border-color);
  box-shadow: var(--jp-input-box-shadow);
  background-color: var(--jp-cell-editor-active-background);
}

/*-----------------------------------------------------------------------------
| Notebook drag and drop
|----------------------------------------------------------------------------*/

.jp-Notebook-cell.jp-mod-dropSource {
  opacity: 0.5;
}

.jp-Notebook-cell.jp-mod-dropTarget,
.jp-Notebook.jp-mod-commandMode
  .jp-Notebook-cell.jp-mod-active.jp-mod-selected.jp-mod-dropTarget {
  border-top-color: var(--jp-private-notebook-selected-color);
  border-top-style: solid;
  border-top-width: 2px;
}

.jp-dragImage {
  display: block;
  flex-direction: row;
  width: var(--jp-private-notebook-dragImage-width);
  height: var(--jp-private-notebook-dragImage-height);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background);
  overflow: visible;
}

.jp-dragImage-singlePrompt {
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

.jp-dragImage .jp-dragImage-content {
  flex: 1 1 auto;
  z-index: 2;
  font-size: var(--jp-code-font-size);
  font-family: var(--jp-code-font-family);
  line-height: var(--jp-code-line-height);
  padding: var(--jp-code-padding);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  background: var(--jp-cell-editor-background-color);
  color: var(--jp-content-font-color3);
  text-align: left;
  margin: 4px 4px 4px 0;
}

.jp-dragImage .jp-dragImage-prompt {
  flex: 0 0 auto;
  min-width: 36px;
  color: var(--jp-cell-inprompt-font-color);
  padding: var(--jp-code-padding);
  padding-left: 12px;
  font-family: var(--jp-cell-prompt-font-family);
  letter-spacing: var(--jp-cell-prompt-letter-spacing);
  line-height: 1.9;
  font-size: var(--jp-code-font-size);
  border: var(--jp-border-width) solid transparent;
}

.jp-dragImage-multipleBack {
  z-index: -1;
  position: absolute;
  height: 32px;
  width: 300px;
  top: 8px;
  left: 8px;
  background: var(--jp-layout-color2);
  border: var(--jp-border-width) solid var(--jp-input-border-color);
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.12);
}

/*-----------------------------------------------------------------------------
| Cell toolbar
|----------------------------------------------------------------------------*/

.jp-NotebookTools {
  display: block;
  min-width: var(--jp-sidebar-min-width);
  color: var(--jp-ui-font-color1);
  background: var(--jp-layout-color1);

  /* This is needed so that all font sizing of children done in ems is
    * relative to this base size */
  font-size: var(--jp-ui-font-size1);
  overflow: auto;
}

.jp-ActiveCellTool {
  padding: 12px 0;
  display: flex;
}

.jp-ActiveCellTool-Content {
  flex: 1 1 auto;
}

.jp-ActiveCellTool .jp-ActiveCellTool-CellContent {
  background: var(--jp-cell-editor-background);
  border: var(--jp-border-width) solid var(--jp-cell-editor-border-color);
  border-radius: 0;
  min-height: 29px;
}

.jp-ActiveCellTool .jp-InputPrompt {
  min-width: calc(var(--jp-cell-prompt-width) * 0.75);
}

.jp-ActiveCellTool-CellContent > pre {
  padding: 5px 4px;
  margin: 0;
  white-space: normal;
}

.jp-MetadataEditorTool {
  flex-direction: column;
  padding: 12px 0;
}

.jp-RankedPanel > :not(:first-child) {
  margin-top: 12px;
}

.jp-KeySelector select.jp-mod-styled {
  font-size: var(--jp-ui-font-size1);
  color: var(--jp-ui-font-color0);
  border: var(--jp-border-width) solid var(--jp-border-color1);
}

.jp-KeySelector label,
.jp-MetadataEditorTool label,
.jp-NumberSetter label {
  line-height: 1.4;
}

.jp-NotebookTools .jp-select-wrapper {
  margin-top: 4px;
  margin-bottom: 0;
}

.jp-NumberSetter input {
  width: 100%;
  margin-top: 4px;
}

.jp-NotebookTools .jp-Collapse {
  margin-top: 16px;
}

/*-----------------------------------------------------------------------------
| Presentation Mode (.jp-mod-presentationMode)
|----------------------------------------------------------------------------*/

.jp-mod-presentationMode .jp-Notebook {
  --jp-content-font-size1: var(--jp-content-presentation-font-size1);
  --jp-code-font-size: var(--jp-code-presentation-font-size);
}

.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-InputPrompt,
.jp-mod-presentationMode .jp-Notebook .jp-Cell .jp-OutputPrompt {
  flex: 0 0 110px;
}

/*-----------------------------------------------------------------------------
| Side-by-side Mode (.jp-mod-sideBySide)
|----------------------------------------------------------------------------*/
.jp-mod-sideBySide.jp-Notebook .jp-Notebook-cell {
  margin-top: 3em;
  margin-bottom: 3em;
  margin-left: 5%;
  margin-right: 5%;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-output-size)
    );
  grid-template-rows: auto minmax(0, 1fr) auto;
  grid-template-areas:
    'header header header'
    'input handle output'
    'footer footer footer';
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell.jp-mod-resizedCell {
  grid-template-columns: minmax(0, 1fr) min-content minmax(
      0,
      var(--jp-side-by-side-resized-cell)
    );
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellHeader {
  grid-area: header;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-inputWrapper {
  grid-area: input;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-Cell-outputWrapper {
  /* overwrite the default margin (no vertical separation needed in side by side move */
  margin-top: 0;
  grid-area: output;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellFooter {
  grid-area: footer;
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle {
  grid-area: handle;
  user-select: none;
  display: block;
  height: 100%;
  cursor: ew-resize;
  padding: 0 var(--jp-cell-padding);
}

.jp-mod-sideBySide.jp-Notebook .jp-CodeCell .jp-CellResizeHandle::after {
  content: '';
  display: block;
  background: var(--jp-border-color2);
  height: 100%;
  width: 5px;
}

.jp-mod-sideBySide.jp-Notebook
  .jp-CodeCell.jp-mod-resizedCell
  .jp-CellResizeHandle::after {
  background: var(--jp-border-color0);
}

.jp-CellResizeHandle {
  display: none;
}

/*-----------------------------------------------------------------------------
| Placeholder
|----------------------------------------------------------------------------*/

.jp-Cell-Placeholder {
  padding-left: 55px;
}

.jp-Cell-Placeholder-wrapper {
  background: #fff;
  border: 1px solid;
  border-color: #e5e6e9 #dfe0e4 #d0d1d5;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  margin: 10px 15px;
}

.jp-Cell-Placeholder-wrapper-inner {
  padding: 15px;
  position: relative;
}

.jp-Cell-Placeholder-wrapper-body {
  background-repeat: repeat;
  background-size: 50% auto;
}

.jp-Cell-Placeholder-wrapper-body div {
  background: #f6f7f8;
  background-image: -webkit-linear-gradient(
    left,
    #f6f7f8 0%,
    #edeef1 20%,
    #f6f7f8 40%,
    #f6f7f8 100%
  );
  background-repeat: no-repeat;
  background-size: 800px 104px;
  height: 104px;
  position: absolute;
  right: 15px;
  left: 15px;
  top: 15px;
}

div.jp-Cell-Placeholder-h1 {
  top: 20px;
  height: 20px;
  left: 15px;
  width: 150px;
}

div.jp-Cell-Placeholder-h2 {
  left: 15px;
  top: 50px;
  height: 10px;
  width: 100px;
}

div.jp-Cell-Placeholder-content-1,
div.jp-Cell-Placeholder-content-2,
div.jp-Cell-Placeholder-content-3 {
  left: 15px;
  right: 15px;
  height: 10px;
}

div.jp-Cell-Placeholder-content-1 {
  top: 100px;
}

div.jp-Cell-Placeholder-content-2 {
  top: 120px;
}

div.jp-Cell-Placeholder-content-3 {
  top: 140px;
}

</style>
<style type="text/css">
/*-----------------------------------------------------------------------------
| Copyright (c) Jupyter Development Team.
| Distributed under the terms of the Modified BSD License.
|----------------------------------------------------------------------------*/

/*
The following CSS variables define the main, public API for styling JupyterLab.
These variables should be used by all plugins wherever possible. In other
words, plugins should not define custom colors, sizes, etc unless absolutely
necessary. This enables users to change the visual theme of JupyterLab
by changing these variables.

Many variables appear in an ordered sequence (0,1,2,3). These sequences
are designed to work well together, so for example, `--jp-border-color1` should
be used with `--jp-layout-color1`. The numbers have the following meanings:

* 0: super-primary, reserved for special emphasis
* 1: primary, most important under normal situations
* 2: secondary, next most important under normal situations
* 3: tertiary, next most important under normal situations

Throughout JupyterLab, we are mostly following principles from Google's
Material Design when selecting colors. We are not, however, following
all of MD as it is not optimized for dense, information rich UIs.
*/

:root {
  /* Elevation
   *
   * We style box-shadows using Material Design's idea of elevation. These particular numbers are taken from here:
   *
   * https://github.com/material-components/material-components-web
   * https://material-components-web.appspot.com/elevation.html
   */

  --jp-shadow-base-lightness: 0;
  --jp-shadow-umbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.2
  );
  --jp-shadow-penumbra-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.14
  );
  --jp-shadow-ambient-color: rgba(
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    var(--jp-shadow-base-lightness),
    0.12
  );
  --jp-elevation-z0: none;
  --jp-elevation-z1: 0 2px 1px -1px var(--jp-shadow-umbra-color),
    0 1px 1px 0 var(--jp-shadow-penumbra-color),
    0 1px 3px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z2: 0 3px 1px -2px var(--jp-shadow-umbra-color),
    0 2px 2px 0 var(--jp-shadow-penumbra-color),
    0 1px 5px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z4: 0 2px 4px -1px var(--jp-shadow-umbra-color),
    0 4px 5px 0 var(--jp-shadow-penumbra-color),
    0 1px 10px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z6: 0 3px 5px -1px var(--jp-shadow-umbra-color),
    0 6px 10px 0 var(--jp-shadow-penumbra-color),
    0 1px 18px 0 var(--jp-shadow-ambient-color);
  --jp-elevation-z8: 0 5px 5px -3px var(--jp-shadow-umbra-color),
    0 8px 10px 1px var(--jp-shadow-penumbra-color),
    0 3px 14px 2px var(--jp-shadow-ambient-color);
  --jp-elevation-z12: 0 7px 8px -4px var(--jp-shadow-umbra-color),
    0 12px 17px 2px var(--jp-shadow-penumbra-color),
    0 5px 22px 4px var(--jp-shadow-ambient-color);
  --jp-elevation-z16: 0 8px 10px -5px var(--jp-shadow-umbra-color),
    0 16px 24px 2px var(--jp-shadow-penumbra-color),
    0 6px 30px 5px var(--jp-shadow-ambient-color);
  --jp-elevation-z20: 0 10px 13px -6px var(--jp-shadow-umbra-color),
    0 20px 31px 3px var(--jp-shadow-penumbra-color),
    0 8px 38px 7px var(--jp-shadow-ambient-color);
  --jp-elevation-z24: 0 11px 15px -7px var(--jp-shadow-umbra-color),
    0 24px 38px 3px var(--jp-shadow-penumbra-color),
    0 9px 46px 8px var(--jp-shadow-ambient-color);

  /* Borders
   *
   * The following variables, specify the visual styling of borders in JupyterLab.
   */

  --jp-border-width: 1px;
  --jp-border-color0: var(--md-grey-400);
  --jp-border-color1: var(--md-grey-400);
  --jp-border-color2: var(--md-grey-300);
  --jp-border-color3: var(--md-grey-200);
  --jp-inverse-border-color: var(--md-grey-600);
  --jp-border-radius: 2px;

  /* UI Fonts
   *
   * The UI font CSS variables are used for the typography all of the JupyterLab
   * user interface elements that are not directly user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-ui-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-ui-font-scale-factor: 1.2;
  --jp-ui-font-size0: 0.83333em;
  --jp-ui-font-size1: 13px; /* Base font size */
  --jp-ui-font-size2: 1.2em;
  --jp-ui-font-size3: 1.44em;
  --jp-ui-font-family: system-ui, -apple-system, blinkmacsystemfont, 'Segoe UI',
    helvetica, arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
    'Segoe UI Symbol';

  /*
   * Use these font colors against the corresponding main layout colors.
   * In a light theme, these go from dark to light.
   */

  /* Defaults use Material Design specification */
  --jp-ui-font-color0: rgba(0, 0, 0, 1);
  --jp-ui-font-color1: rgba(0, 0, 0, 0.87);
  --jp-ui-font-color2: rgba(0, 0, 0, 0.54);
  --jp-ui-font-color3: rgba(0, 0, 0, 0.38);

  /*
   * Use these against the brand/accent/warn/error colors.
   * These will typically go from light to darker, in both a dark and light theme.
   */

  --jp-ui-inverse-font-color0: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color1: rgba(255, 255, 255, 1);
  --jp-ui-inverse-font-color2: rgba(255, 255, 255, 0.7);
  --jp-ui-inverse-font-color3: rgba(255, 255, 255, 0.5);

  /* Content Fonts
   *
   * Content font variables are used for typography of user generated content.
   *
   * The font sizing here is done assuming that the body font size of --jp-content-font-size1
   * is applied to a parent element. When children elements, such as headings, are sized
   * in em all things will be computed relative to that body size.
   */

  --jp-content-line-height: 1.6;
  --jp-content-font-scale-factor: 1.2;
  --jp-content-font-size0: 0.83333em;
  --jp-content-font-size1: 14px; /* Base font size */
  --jp-content-font-size2: 1.2em;
  --jp-content-font-size3: 1.44em;
  --jp-content-font-size4: 1.728em;
  --jp-content-font-size5: 2.0736em;

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-content-presentation-font-size1: 17px;
  --jp-content-heading-line-height: 1;
  --jp-content-heading-margin-top: 1.2em;
  --jp-content-heading-margin-bottom: 0.8em;
  --jp-content-heading-font-weight: 500;

  /* Defaults use Material Design specification */
  --jp-content-font-color0: rgba(0, 0, 0, 1);
  --jp-content-font-color1: rgba(0, 0, 0, 0.87);
  --jp-content-font-color2: rgba(0, 0, 0, 0.54);
  --jp-content-font-color3: rgba(0, 0, 0, 0.38);
  --jp-content-link-color: var(--md-blue-900);
  --jp-content-font-family: system-ui, -apple-system, blinkmacsystemfont,
    'Segoe UI', helvetica, arial, sans-serif, 'Apple Color Emoji',
    'Segoe UI Emoji', 'Segoe UI Symbol';

  /*
   * Code Fonts
   *
   * Code font variables are used for typography of code and other monospaces content.
   */

  --jp-code-font-size: 13px;
  --jp-code-line-height: 1.3077; /* 17px for 13px base */
  --jp-code-padding: 5px; /* 5px for 13px base, codemirror highlighting needs integer px value */
  --jp-code-font-family-default: menlo, consolas, 'DejaVu Sans Mono', monospace;
  --jp-code-font-family: var(--jp-code-font-family-default);

  /* This gives a magnification of about 125% in presentation mode over normal. */
  --jp-code-presentation-font-size: 16px;

  /* may need to tweak cursor width if you change font size */
  --jp-code-cursor-width0: 1.4px;
  --jp-code-cursor-width1: 2px;
  --jp-code-cursor-width2: 4px;

  /* Layout
   *
   * The following are the main layout colors use in JupyterLab. In a light
   * theme these would go from light to dark.
   */

  --jp-layout-color0: white;
  --jp-layout-color1: white;
  --jp-layout-color2: var(--md-grey-200);
  --jp-layout-color3: var(--md-grey-400);
  --jp-layout-color4: var(--md-grey-600);

  /* Inverse Layout
   *
   * The following are the inverse layout colors use in JupyterLab. In a light
   * theme these would go from dark to light.
   */

  --jp-inverse-layout-color0: #111;
  --jp-inverse-layout-color1: var(--md-grey-900);
  --jp-inverse-layout-color2: var(--md-grey-800);
  --jp-inverse-layout-color3: var(--md-grey-700);
  --jp-inverse-layout-color4: var(--md-grey-600);

  /* Brand/accent */

  --jp-brand-color0: var(--md-blue-900);
  --jp-brand-color1: var(--md-blue-700);
  --jp-brand-color2: var(--md-blue-300);
  --jp-brand-color3: var(--md-blue-100);
  --jp-brand-color4: var(--md-blue-50);
  --jp-accent-color0: var(--md-green-900);
  --jp-accent-color1: var(--md-green-700);
  --jp-accent-color2: var(--md-green-300);
  --jp-accent-color3: var(--md-green-100);

  /* State colors (warn, error, success, info) */

  --jp-warn-color0: var(--md-orange-900);
  --jp-warn-color1: var(--md-orange-700);
  --jp-warn-color2: var(--md-orange-300);
  --jp-warn-color3: var(--md-orange-100);
  --jp-error-color0: var(--md-red-900);
  --jp-error-color1: var(--md-red-700);
  --jp-error-color2: var(--md-red-300);
  --jp-error-color3: var(--md-red-100);
  --jp-success-color0: var(--md-green-900);
  --jp-success-color1: var(--md-green-700);
  --jp-success-color2: var(--md-green-300);
  --jp-success-color3: var(--md-green-100);
  --jp-info-color0: var(--md-cyan-900);
  --jp-info-color1: var(--md-cyan-700);
  --jp-info-color2: var(--md-cyan-300);
  --jp-info-color3: var(--md-cyan-100);

  /* Cell specific styles */

  --jp-cell-padding: 5px;
  --jp-cell-collapser-width: 8px;
  --jp-cell-collapser-min-height: 20px;
  --jp-cell-collapser-not-active-hover-opacity: 0.6;
  --jp-cell-editor-background: var(--md-grey-100);
  --jp-cell-editor-border-color: var(--md-grey-300);
  --jp-cell-editor-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-cell-editor-active-background: var(--jp-layout-color0);
  --jp-cell-editor-active-border-color: var(--jp-brand-color1);
  --jp-cell-prompt-width: 64px;
  --jp-cell-prompt-font-family: var(--jp-code-font-family-default);
  --jp-cell-prompt-letter-spacing: 0;
  --jp-cell-prompt-opacity: 1;
  --jp-cell-prompt-not-active-opacity: 0.5;
  --jp-cell-prompt-not-active-font-color: var(--md-grey-700);

  /* A custom blend of MD grey and blue 600
   * See https://meyerweb.com/eric/tools/color-blend/#546E7A:1E88E5:5:hex */
  --jp-cell-inprompt-font-color: #307fc1;

  /* A custom blend of MD grey and orange 600
   * https://meyerweb.com/eric/tools/color-blend/#546E7A:F4511E:5:hex */
  --jp-cell-outprompt-font-color: #bf5b3d;

  /* Notebook specific styles */

  --jp-notebook-padding: 10px;
  --jp-notebook-select-background: var(--jp-layout-color1);
  --jp-notebook-multiselected-color: var(--md-blue-50);

  /* The scroll padding is calculated to fill enough space at the bottom of the
  notebook to show one single-line cell (with appropriate padding) at the top
  when the notebook is scrolled all the way to the bottom. We also subtract one
  pixel so that no scrollbar appears if we have just one single-line cell in the
  notebook. This padding is to enable a 'scroll past end' feature in a notebook.
  */
  --jp-notebook-scroll-padding: calc(
    100% - var(--jp-code-font-size) * var(--jp-code-line-height) -
      var(--jp-code-padding) - var(--jp-cell-padding) - 1px
  );

  /* Rendermime styles */

  --jp-rendermime-error-background: #fdd;
  --jp-rendermime-table-row-background: var(--md-grey-100);
  --jp-rendermime-table-row-hover-background: var(--md-light-blue-50);

  /* Dialog specific styles */

  --jp-dialog-background: rgba(0, 0, 0, 0.25);

  /* Console specific styles */

  --jp-console-padding: 10px;

  /* Toolbar specific styles */

  --jp-toolbar-border-color: var(--jp-border-color1);
  --jp-toolbar-micro-height: 8px;
  --jp-toolbar-background: var(--jp-layout-color1);
  --jp-toolbar-box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.24);
  --jp-toolbar-header-margin: 4px 4px 0 4px;
  --jp-toolbar-active-background: var(--md-grey-300);

  /* Statusbar specific styles */

  --jp-statusbar-height: 24px;

  /* Input field styles */

  --jp-input-box-shadow: inset 0 0 2px var(--md-blue-300);
  --jp-input-active-background: var(--jp-layout-color1);
  --jp-input-hover-background: var(--jp-layout-color1);
  --jp-input-background: var(--md-grey-100);
  --jp-input-border-color: var(--jp-inverse-border-color);
  --jp-input-active-border-color: var(--jp-brand-color1);
  --jp-input-active-box-shadow-color: rgba(19, 124, 189, 0.3);

  /* General editor styles */

  --jp-editor-selected-background: #d9d9d9;
  --jp-editor-selected-focused-background: #d7d4f0;
  --jp-editor-cursor-color: var(--jp-ui-font-color0);

  /* Code mirror specific styles */

  --jp-mirror-editor-keyword-color: #008000;
  --jp-mirror-editor-atom-color: #88f;
  --jp-mirror-editor-number-color: #080;
  --jp-mirror-editor-def-color: #00f;
  --jp-mirror-editor-variable-color: var(--md-grey-900);
  --jp-mirror-editor-variable-2-color: rgb(0, 54, 109);
  --jp-mirror-editor-variable-3-color: #085;
  --jp-mirror-editor-punctuation-color: #05a;
  --jp-mirror-editor-property-color: #05a;
  --jp-mirror-editor-operator-color: #a2f;
  --jp-mirror-editor-comment-color: #408080;
  --jp-mirror-editor-string-color: #ba2121;
  --jp-mirror-editor-string-2-color: #708;
  --jp-mirror-editor-meta-color: #a2f;
  --jp-mirror-editor-qualifier-color: #555;
  --jp-mirror-editor-builtin-color: #008000;
  --jp-mirror-editor-bracket-color: #997;
  --jp-mirror-editor-tag-color: #170;
  --jp-mirror-editor-attribute-color: #00c;
  --jp-mirror-editor-header-color: blue;
  --jp-mirror-editor-quote-color: #090;
  --jp-mirror-editor-link-color: #00c;
  --jp-mirror-editor-error-color: #f00;
  --jp-mirror-editor-hr-color: #999;

  /*
    RTC user specific colors.
    These colors are used for the cursor, username in the editor,
    and the icon of the user.
  */

  --jp-collaborator-color1: #ffad8e;
  --jp-collaborator-color2: #dac83d;
  --jp-collaborator-color3: #72dd76;
  --jp-collaborator-color4: #00e4d0;
  --jp-collaborator-color5: #45d4ff;
  --jp-collaborator-color6: #e2b1ff;
  --jp-collaborator-color7: #ff9de6;

  /* Vega extension styles */

  --jp-vega-background: white;

  /* Sidebar-related styles */

  --jp-sidebar-min-width: 250px;

  /* Search-related styles */

  --jp-search-toggle-off-opacity: 0.5;
  --jp-search-toggle-hover-opacity: 0.8;
  --jp-search-toggle-on-opacity: 1;
  --jp-search-selected-match-background-color: rgb(245, 200, 0);
  --jp-search-selected-match-color: black;
  --jp-search-unselected-match-background-color: var(
    --jp-inverse-layout-color0
  );
  --jp-search-unselected-match-color: var(--jp-ui-inverse-font-color0);

  /* Icon colors that work well with light or dark backgrounds */
  --jp-icon-contrast-color0: var(--md-purple-600);
  --jp-icon-contrast-color1: var(--md-green-600);
  --jp-icon-contrast-color2: var(--md-pink-600);
  --jp-icon-contrast-color3: var(--md-blue-600);

  /* Button colors */
  --jp-accept-color-normal: var(--md-blue-700);
  --jp-accept-color-hover: var(--md-blue-800);
  --jp-accept-color-active: var(--md-blue-900);
  --jp-warn-color-normal: var(--md-red-700);
  --jp-warn-color-hover: var(--md-red-800);
  --jp-warn-color-active: var(--md-red-900);
  --jp-reject-color-normal: var(--md-grey-600);
  --jp-reject-color-hover: var(--md-grey-700);
  --jp-reject-color-active: var(--md-grey-800);

  /* File or activity icons and switch semantic variables */
  --jp-jupyter-icon-color: #f37626;
  --jp-notebook-icon-color: #f37626;
  --jp-json-icon-color: var(--md-orange-700);
  --jp-console-icon-background-color: var(--md-blue-700);
  --jp-console-icon-color: white;
  --jp-terminal-icon-background-color: var(--md-grey-800);
  --jp-terminal-icon-color: var(--md-grey-200);
  --jp-text-editor-icon-color: var(--md-grey-700);
  --jp-inspector-icon-color: var(--md-grey-700);
  --jp-switch-color: var(--md-grey-400);
  --jp-switch-true-position-color: var(--md-orange-900);
}
</style>
<style type="text/css">
/* Force rendering true colors when outputing to pdf */
* {
  -webkit-print-color-adjust: exact;
}

/* Misc */
a.anchor-link {
  display: none;
}

/* Input area styling */
.jp-InputArea {
  overflow: hidden;
}

.jp-InputArea-editor {
  overflow: hidden;
}

.cm-editor.cm-s-jupyter .highlight pre {
/* weird, but --jp-code-padding defined to be 5px but 4px horizontal padding is hardcoded for pre.cm-line */
  padding: var(--jp-code-padding) 4px;
  margin: 0;

  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  color: inherit;

}

.jp-OutputArea-output pre {
  line-height: inherit;
  font-family: inherit;
}

.jp-RenderedText pre {
  color: var(--jp-content-font-color1);
  font-size: var(--jp-code-font-size);
}

/* Hiding the collapser by default */
.jp-Collapser {
  display: none;
}

@page {
    margin: 0.5in; /* Margin for each printed piece of paper */
}

@media print {
  .jp-Cell-inputWrapper,
  .jp-Cell-outputWrapper {
    display: block;
  }
}
</style>
<!-- Load mathjax -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe"> </script>
<!-- MathJax configuration -->
<script type="text/x-mathjax-config">
    init_mathjax = function() {
        if (window.MathJax) {
        // MathJax loaded
            MathJax.Hub.Config({
                TeX: {
                    equationNumbers: {
                    autoNumber: "AMS",
                    useLabelIds: true
                    }
                },
                tex2jax: {
                    inlineMath: [ ['$','$'], ["\\(","\\)"] ],
                    displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
                    processEscapes: true,
                    processEnvironments: true
                },
                displayAlign: 'center',
                CommonHTML: {
                    linebreaks: {
                    automatic: true
                    }
                }
            });

            MathJax.Hub.Queue(["Typeset", MathJax.Hub]);
        }
    }
    init_mathjax();
    </script>
<!-- End of mathjax configuration --><script type="module">
  document.addEventListener("DOMContentLoaded", async () => {
    const diagrams = document.querySelectorAll(".jp-Mermaid > pre.mermaid");
    // do not load mermaidjs if not needed
    if (!diagrams.length) {
      return;
    }
    const mermaid = (await import("https://cdnjs.cloudflare.com/ajax/libs/mermaid/10.2.3/mermaid.esm.min.mjs")).default;

    mermaid.initialize({
      maxTextSize: 100000,
      startOnLoad: false,
      fontFamily: window
        .getComputedStyle(document.body)
        .getPropertyValue("--jp-ui-font-family"),
      theme: document.querySelector("body[data-jp-theme-light='true']")
        ? "default"
        : "dark",
    });

    let _nextMermaidId = 0;

    function makeMermaidImage(svg) {
      const img = document.createElement('img');
      const maxWidth = svg.match(/max-width: (\d+)/);
      if (maxWidth && maxWidth[1]) {
        const width = parseInt(maxWidth[1]);
        if (width && !Number.isNaN(width) && Number.isFinite(width)) {
          img.width = width;
        }
      }
      img.setAttribute('src', `data:image/svg+xml,${encodeURIComponent(svg)}`);
      return img;
    }

    async function makeMermaidError(text) {
      let errorMessage = '';
      try {
        await mermaid.parse(text);
      } catch (err) {
        errorMessage = `${err}`;
      }

      const result = document.createElement('details');
      const summary = document.createElement('summary');
      const pre = document.createElement('pre');
      const code = document.createElement('code');
      code.innerText = text;
      pre.appendChild(code);
      summary.appendChild(pre);
      result.appendChild(summary);

      const warning = document.createElement('pre');
      warning.innerText = errorMessage;
      result.appendChild(warning);
      return result;
    }

    async function renderOneMarmaid(src) {
      const id = `jp-mermaid-${_nextMermaidId++}`;
      const parent = src.parentNode;
      let raw = src.textContent.trim();
      const el = document.createElement("div");
      el.style.visibility = "hidden";
      document.body.appendChild(el);
      let result = null;
      try {
        const { svg } = await mermaid.render(id, raw, el);
        result = makeMermaidImage(svg);
      } catch (err) {
        parent.classList.add("jp-mod-warning");
        result = await makeMermaidError(raw);
      } finally {
        el.remove();
      }
      parent.classList.add("jp-RenderedMermaid");
      parent.appendChild(result);
    }

    void Promise.all([...diagrams].map(renderOneMarmaid));
  });
</script>
<style>
  .jp-RenderedMarkdown .jp-Mermaid:not(.jp-RenderedMermaid) {
    display: none;
  }
  .jp-RenderedMarkdown .jp-RenderedMermaid.jp-mod-warning {
    width: auto;
    padding: 10px;
    border: var(--jp-border-width) solid var(--jp-warn-color2);
    border-radius: var(--jp-border-radius);
    color: var(--jp-ui-font-color1);
    font-size: var(--jp-ui-font-size1);
    white-space: pre-wrap;
    word-wrap: break-word;
  }
  .jp-RenderedMarkdown .jp-RenderedMermaid.jp-mod-warning details > pre {
    margin-top: 1em;
  }
  .jp-RenderedMarkdown .jp-RenderedMermaid.jp-mod-warning summary {
    color: var(--jp-warn-color2);
  }
  .jp-RenderedMarkdown .jp-RenderedMermaid.jp-mod-warning summary > pre {
    display: inline-block;
  }
  .jp-RenderedMermaid > .mermaid {
    display: none;
  }
</style>
<!-- End of mermaid configuration --></head>
<body class="jp-Notebook" data-jp-theme-light="true" data-jp-theme-name="JupyterLab Light">
<main>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=45111406-ed47-49b8-ade4-22877cb3313d">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="NMF-Topic-Modeling">NMF Topic Modeling<a class="anchor-link" href="#NMF-Topic-Modeling">¶</a></h1><ul>
<li>Author: 			Valentina Gonzalez Rostani</li>
<li>Contact mag384@pitt.edu</li>
<li>Date: August 19, 2024</li>
<li>Version: Python 3.8.17</li>
</ul>
<p>This jupyter notebook:</p>
<ul>
<li>Createsinputs for Table A17: NMF Topic Modeling.</li>
<li>First it does the NMF for the US, then for Germany.</li>
<li>Once topic are created the proportion of each one of them is calculated.</li>
</ul>
<p>Input:</p>
<ul>
<li>Data/cleaned_data.csv # Data for the US</li>
<li>Data/cleaned_data_G.csv # Data for Germany</li>
</ul>
<p>Output:</p>
<ul>
<li>Table A17: NMF Topic Modeling, 4 clusters, top-10 terms.</li>
</ul>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ac569280-70c8-406f-895f-d1e8cd49f022">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Defining-directory-and-importing-libraries">Defining directory and importing libraries<a class="anchor-link" href="#Defining-directory-and-importing-libraries">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=f31c926f-8e9c-4574-b440-0894488142c8">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [1]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
<span class="kn">from</span> <span class="nn">sklearn.datasets</span> <span class="kn">import</span> <span class="n">fetch_20newsgroups</span>
<span class="kn">from</span> <span class="nn">sklearn.feature_extraction.text</span> <span class="kn">import</span> <span class="n">TfidfVectorizer</span>
<span class="kn">from</span> <span class="nn">sklearn.decomposition</span> <span class="kn">import</span> <span class="n">NMF</span>
<span class="kn">import</span> <span class="nn">os</span>
<span class="kn">import</span> <span class="nn">pandas</span> <span class="k">as</span> <span class="nn">pd</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=1fce6cdd-4413-4471-8615-a2c7849f42c1">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [2]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Get the current working directory (where the Jupyter notebook is located)</span>
<span class="n">current_directory</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">()</span>

<span class="c1"># Move one level up</span>
<span class="n">parent_directory</span> <span class="o">=</span> <span class="n">os</span><span class="o">.</span><span class="n">path</span><span class="o">.</span><span class="n">dirname</span><span class="p">(</span><span class="n">current_directory</span><span class="p">)</span>

<span class="c1"># Change the working directory to the parent directory</span>
<span class="n">os</span><span class="o">.</span><span class="n">chdir</span><span class="p">(</span><span class="n">parent_directory</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=b71ef513-68f9-462a-8875-a935ddd8038e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="Table-A17-US-part-based-on-Trump-Speeches">Table A17 US part based on Trump Speeches<a class="anchor-link" href="#Table-A17-US-part-based-on-Trump-Speeches">¶</a></h1><h3 id="Loading-data">Loading data<a class="anchor-link" href="#Loading-data">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=43473830-18ea-45dc-8843-85fd81f2a1e1">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [3]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="n">os</span><span class="o">.</span><span class="n">getcwd</span><span class="p">())</span>
<span class="c1"># Read data into papers</span>
<span class="n">papers</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">"Data/filtered_papers.csv"</span><span class="p">)</span>

<span class="n">papers</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> <span class="n">papers</span><span class="p">[</span><span class="s1">'clean_text'</span><span class="p">]</span>

<span class="n">papers</span> <span class="o">=</span> <span class="n">papers</span><span class="p">[[</span><span class="s1">'text_new'</span><span class="p">]]</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>C:\Users\vgonz\Dropbox\Pitt\OneDrive for Business\Dissertation - Vale\Paper 2 - Political-Economic Polarization\Replication
</pre>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=29c6854b-8668-4bcc-a888-1e55015a961f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [4]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># regular expression to remove any punctuation, and then lowercase the text</span>
<span class="c1"># Load the regular expression library</span>
<span class="kn">import</span> <span class="nn">re</span>
<span class="c1"># Remove punctuation</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">'[,\.!?]'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
<span class="c1"># Convert the titles to lowercase</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">())</span>

<span class="c1"># Print out the first rows of papers</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>

<span class="n">data</span> <span class="o">=</span> <span class="n">papers</span><span class="o">.</span><span class="n">text_new</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">tolist</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=f2e21c6f-06a6-4730-993c-11733104ecc2">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [5]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">vectorizer</span> <span class="o">=</span> <span class="n">TfidfVectorizer</span><span class="p">(</span><span class="n">max_features</span><span class="o">=</span><span class="mi">500</span><span class="p">,</span> <span class="n">min_df</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span> <span class="n">stop_words</span><span class="o">=</span><span class="s1">'english'</span><span class="p">)</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">vectorizer</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="n">words</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">vectorizer</span><span class="o">.</span><span class="n">get_feature_names_out</span><span class="p">())</span>

<span class="nb">print</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"X = "</span><span class="p">,</span> <span class="n">words</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>  (0, 157)	0.2541362143925171
  (0, 121)	0.267210401562597
  (0, 236)	0.30608282861712227
  (0, 84)	0.29084662966495983
  (0, 88)	0.1605679036774965
  (0, 160)	0.3095009135181034
  (0, 129)	0.5752716648835042
  (0, 230)	0.19405504492725587
  (0, 266)	0.1965061630929149
  (0, 357)	0.31986792490495297
  (0, 70)	0.1693961300065119
  (0, 193)	0.16106520248676895
  (1, 88)	0.39752145846865616
  (1, 129)	0.7121062989633848
  (1, 70)	0.41937769078922194
  (1, 193)	0.3987526319686463
  (2, 397)	0.22335220056649369
  (2, 29)	0.2833958367387063
  (2, 164)	0.2935236635176798
  (2, 30)	0.28116618040007585
  (2, 348)	0.28455080751613276
  (2, 306)	0.2639623125653235
  (2, 192)	0.28694775536127126
  (2, 85)	0.253725926356122
  (2, 54)	0.44670440113298737
  :	:
  (5705, 168)	0.4111077452580616
  (5705, 401)	0.4288943921794285
  (5705, 11)	0.4370577993302784
  (5705, 207)	0.409901016420968
  (5705, 24)	0.23426900776262233
  (5705, 487)	0.36940383717648423
  (5705, 319)	0.21456556558036902
  (5705, 88)	0.2249935867439003
  (5706, 277)	0.8837739427797058
  (5706, 319)	0.46791411398205685
  (5707, 474)	0.75628101963952
  (5707, 23)	0.4544158311469677
  (5707, 266)	0.47068595871984387
  (5708, 408)	0.7223914720045738
  (5708, 23)	0.48027956413645023
  (5708, 266)	0.4974757295064418
  (5709, 372)	0.678826415933238
  (5709, 23)	0.5100169139414134
  (5709, 266)	0.5282778099872372
  (5710, 175)	0.5768138678764868
  (5710, 23)	0.5673717421389085
  (5710, 266)	0.5876861986193199
  (5711, 44)	0.6547316087516484
  (5711, 426)	0.46965600917769434
  (5711, 168)	0.5922412967235229
X =  ['10' '100' '15' '20' '30' '33000' '35' '50' '8th' 'able' 'access'
 'accomplish' 'according' 'actually' 'administration' 'african' 'agenda'
 'ago' 'air' 'allow' 'allowed' 'amazing' 'amendment' 'america' 'american'
 'americans' 'americas' 'anybody' 'anymore' 'appoint' 'ask' 'asking'
 'attack' 'away' 'bad' 'badly' 'beautiful' 'beginning' 'believe' 'best'
 'better' 'big' 'biggest' 'billion' 'bless' 'border' 'borders' 'break'
 'bring' 'build' 'business' 'businesses' 'called' 'came' 'campaign' 'care'
 'carolina' 'cash' 'chance' 'change' 'chicago' 'child' 'childcare'
 'children' 'china' 'choice' 'cities' 'citizens' 'city' 'class' 'clinton'
 'clintons' 'close' 'coal' 'come' 'coming' 'common' 'communities'
 'community' 'companies' 'congress' 'constitution' 'control' 'core'
 'corrupt' 'corruption' 'cost' 'countries' 'country' 'court' 'create'
 'crime' 'criminal' 'cut' 'dangerous' 'day' 'days' 'dc' 'deal' 'deals'
 'death' 'debate' 'debt' 'decades' 'defend' 'defense' 'deficit'
 'democratic' 'democrats' 'department' 'detroit' 'did' 'didnt' 'different'
 'disaster' 'disastrous' 'does' 'doesnt' 'doing' 'dollars' 'donald'
 'donors' 'dont' 'dream' 'drugs' 'east' 'economic' 'economy' 'education'
 'election' 'eliminate' 'emails' 'end' 'energy' 'enforcement' 'ensure'
 'entire' 'especially' 'establishment' 'everybody' 'fact' 'factories'
 'failed' 'failing' 'failures' 'families' 'family' 'far' 'fbi' 'federal'
 'fight' 'fighting' 'fix' 'florida' 'folks' 'follow' 'force' 'foreign'
 'forgotten' 'foundation' 'free' 'friends' 'future' 'gave' 'general'
 'gets' 'getting' 'given' 'god' 'going' 'gone' 'gonna' 'good' 'got'
 'government' 'great' 'greatest' 'growth' 'guy' 'half' 'hampshire'
 'happen' 'happened' 'happening' 'hard' 'health' 'hear' 'heard' 'help'
 'heres' 'hes' 'high' 'highest' 'hillary' 'hillarys' 'hispanic' 'history'
 'home' 'honor' 'hope' 'horrible' 'house' 'hundreds' 'id' 'ill' 'illegal'
 'im' 'imagine' 'immediately' 'immigrant' 'immigrants' 'immigration'
 'important' 'includes' 'including' 'income' 'increase' 'incredible'
 'infrastructure' 'inner' 'instead' 'interests' 'iran' 'iraq' 'isis'
 'islamic' 'issue' 'ive' 'job' 'jobs' 'just' 'justice' 'justices' 'killed'
 'killing' 'know' 'large' 'law' 'laws' 'leaders' 'leadership' 'leave'
 'leaving' 'left' 'let' 'lets' 'libya' 'lie' 'lied' 'lies' 'life' 'like'
 'live' 'lives' 'living' 'lobbyists' 'long' 'look' 'lose' 'lost' 'lot'
 'love' 'low' 'lower' 'mails' 'major' 'make' 'making' 'man'
 'manufacturing' 'massive' 'maybe' 'mean' 'means' 'media' 'men' 'mexico'
 'michigan' 'middle' 'military' 'million' 'millions' 'money' 'movement'
 'nafta' 'nation' 'national' 'nearly' 'need' 'new' 'nice' 'north'
 'november' 'number' 'numbers' 'obama' 'obamacare' 'office' 'officers'
 'oh' 'ohio' 'ok' 'old' 'open' 'opponent' 'opportunity' 'order'
 'organization' 'outside' 'overseas' 'paid' 'parents' 'partnership'
 'party' 'past' 'pay' 'paying' 'peace' 'pennsylvania' 'people' 'percent'
 'person' 'place' 'places' 'plan' 'play' 'police' 'policies' 'policy'
 'political' 'politicians' 'poverty' 'power' 'powerful' 'president'
 'private' 'probably' 'problem' 'problems' 'prosperity' 'protect' 'proud'
 'provide' 'public' 'radical' 'rate' 'real' 'really' 'reason' 'rebuild'
 'reduce' 'reform' 'reforms' 'refugee' 'refugees' 'regulation'
 'regulations' 'released' 'remember' 'renegotiate' 'repeal' 'replace'
 'respect' 'rich' 'rid' 'rigged' 'right' 'roads' 'rules' 'run' 'running'
 'russia' 'safe' 'safety' 'said' 'save' 'saw' 'say' 'saying' 'says'
 'school' 'schools' 'second' 'secretary' 'security' 'seen' 'send' 'serve'
 'server' 'set' 'share' 'shes' 'shot' 'signed' 'single' 'small' 'society'
 'special' 'spent' 'stand' 'start' 'started' 'state' 'states' 'steel'
 'stop' 'story' 'street' 'strong' 'students' 'suffering' 'support'
 'supported' 'supreme' 'sure' 'syria' 'taken' 'taking' 'talk' 'talking'
 'tax' 'taxes' 'tell' 'terrible' 'terrorism' 'terrorists' 'thank' 'thats'
 'theres' 'theyre' 'theyve' 'thing' 'things' 'think' 'thousands' 'time'
 'times' 'tired' 'today' 'total' 'totally' 'tough' 'tpp' 'trade'
 'tremendous' 'trillion' 'true' 'trump' 'trying' 'turn' 'unbelievable'
 'understand' 'united' 'use' 'used' 'veterans' 'victims' 'victory'
 'violence' 'violent' 'voice' 'vote' 'voter' 'voters' 'voting' 'wages'
 'waiting' 'wall' 'want' 'wants' 'war' 'washington' 'way' 'wealth'
 'wealthy' 'went' 'weve' 'whats' 'white' 'win' 'winning' 'women'
 'wonderful' 'wont' 'words' 'work' 'workers' 'working' 'world' 'worse'
 'worst' 'wouldnt' 'wrong' 'year' 'years' 'yesterday' 'york' 'young'
 'youre' 'youve']
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=cdd5f414-dc52-42cf-b572-52bc41a3746f">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="4-topics">4 topics<a class="anchor-link" href="#4-topics">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=f882d233-c6b5-45b2-accd-91e5d58d9de0">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [6]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">nmf</span> <span class="o">=</span> <span class="n">NMF</span><span class="p">(</span><span class="n">n_components</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">solver</span><span class="o">=</span><span class="s1">'mu'</span><span class="p">,</span> <span class="n">init</span><span class="o">=</span><span class="s1">'nndsvda'</span><span class="p">)</span>
<span class="n">W</span> <span class="o">=</span> <span class="n">nmf</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
<span class="n">H</span> <span class="o">=</span> <span class="n">nmf</span><span class="o">.</span><span class="n">components_</span>

<span class="c1"># Use W to get the most likely topic for each sentence</span>
<span class="n">most_likely_topic</span> <span class="o">=</span> <span class="n">W</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>

<span class="c1"># Add most_likely_topic as a new column to the papers dataframe</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'most_likely_topic'</span><span class="p">]</span> <span class="o">=</span> <span class="n">most_likely_topic</span>


<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">topic</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">H</span><span class="p">):</span>
     <span class="nb">print</span><span class="p">(</span><span class="s2">"Topic </span><span class="si">{}</span><span class="s2">: </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">words</span><span class="p">[</span><span class="n">topic</span><span class="o">.</span><span class="n">argsort</span><span class="p">()[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]]])))</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Topic 1: dont,im,know,want,jobs,new,country,american,people,going
Topic 2: world,better,proud,going,wealthy,strong,safe,great,make,america
Topic 3: donors,trade,obama,emails,secretary,wants,state,clintons,clinton,hillary
Topic 4: incredible,good,love,today,want,everybody,great,god,bless,thank
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=ddae3b36-60d0-4972-8975-8f2aa375bc77">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Topics-proportions">Topics proportions<a class="anchor-link" href="#Topics-proportions">¶</a></h3><p>This method calculates the proportion of each topic based on the sum of the weights (or contributions) for each topic across all documents. It gives a sense of how much each topic contributes to the overall data set based on the NMF model's output.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=e0a9ad40-7b14-4795-85aa-ce0b967d1eb1">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [7]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.manifold</span> <span class="kn">import</span> <span class="n">TSNE</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>

<span class="c1"># Apply t-SNE to reduce the dimensionality of the data</span>
<span class="n">tsne</span> <span class="o">=</span> <span class="n">TSNE</span><span class="p">(</span><span class="n">n_components</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">perplexity</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">n_iter</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
<span class="n">tsne_results</span> <span class="o">=</span> <span class="n">tsne</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">W</span><span class="p">)</span>

<span class="c1"># Calculate the proportion of each topic</span>
<span class="n">topic_proportions</span> <span class="o">=</span> <span class="n">W</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">W</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>



<span class="c1"># Create a pie chart with the topic proportions</span>
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
<span class="n">ax</span><span class="o">.</span><span class="n">pie</span><span class="p">(</span><span class="n">topic_proportions</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="p">[</span><span class="s1">'Topic </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">topic_proportions</span><span class="p">))],</span>
       <span class="n">autopct</span><span class="o">=</span><span class="s1">'</span><span class="si">%1.1f%%</span><span class="s1">'</span><span class="p">,</span> <span class="n">shadow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">startangle</span><span class="o">=</span><span class="mi">90</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Topic Proportions'</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>[t-SNE] Computing 121 nearest neighbors...
[t-SNE] Indexed 5712 samples in 0.005s...
[t-SNE] Computed neighbors for 5712 samples in 0.250s...
[t-SNE] Computed conditional probabilities for sample 1000 / 5712
[t-SNE] Computed conditional probabilities for sample 2000 / 5712
[t-SNE] Computed conditional probabilities for sample 3000 / 5712
[t-SNE] Computed conditional probabilities for sample 4000 / 5712
[t-SNE] Computed conditional probabilities for sample 5000 / 5712
[t-SNE] Computed conditional probabilities for sample 5712 / 5712
[t-SNE] Mean sigma: 0.000000
[t-SNE] KL divergence after 250 iterations with early exaggeration: 62.141548
[t-SNE] KL divergence after 300 iterations: 1.653150
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAowAAAKQCAYAAAAVJys2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACSxElEQVR4nOzdd3hUVeI+8PdOL0kmvSeUAAGkSRNEOqig2BtWbKuirv3n6q67q+5+3VXWtbv2trq4riIqitKlg9IhlIQE0nubZPrc3x8IGpNMJsnMnCnv53l4lMmdO+8ESN6ce885kizLMoiIiIiIOqEQHYCIiIiIghsLIxERERF5xMJIRERERB6xMBIRERGRRyyMREREROQRCyMRERERecTCSEREREQesTASERERkUcsjERERETkEQsjUQSRJMmrX2vXrvXZa65du9Zn5ywqKmqTU6FQICEhAXPnzsXmzZt7H1aQ1tZW/PnPf+7wc/Tuu+9CkiQUFRUFPBcR0Ukq0QGIKHB+XaqefPJJrFmzBqtXr27z+NChQ332mqNHj8bmzZt9es67774bV199NVwuF/bv34/HH38c06dPx+bNm3H66af77HUCpbW1FY8//jgAYNq0aW0+dt5552Hz5s1IS0sTkIyI6AQWRqIIMmHChDa/T0pKgkKhaPe4L8XExPj8/NnZ2afOOWnSJAwYMAAzZ87EK6+8gjfeeKPD51gsFuh0OkiS5NMsvSHLMqxWq8djkpKSkJSUFKBEREQd4yVpImqjrq4OCxcuREZGBjQaDfr374/f//73sNlsbY6TJAl33XUXXnvtNQwaNAharRZDhw7F4sWL2xzX2SXprVu3Yt68eUhISIBOp0NOTg7uvffeHmU+WR6PHTsG4OfLuN999x1uuukmJCUlwWAwwGazwe124+mnn8bgwYOh1WqRnJyM66+/HiUlJW3OOW3aNAwbNgzr16/HhAkToNfrkZGRgcceewwul6tXn7N//etfGDJkCLRaLd57771ThfDxxx8/dbl9wYIFbd7Lry9Jv/322xg5ciR0Oh3i4+Nx8cUXIy8vr80xCxYsQFRUFPLz8zF37lxERUUhKysLDzzwQLtsr776KkaOHImoqChER0dj8ODBePTRR7v/h0FEYYkjjER0itVqxfTp01FQUIDHH38cI0aMwPr16/HUU09h165dWLZsWZvjv/jiC6xZswZPPPEEjEYjXnnlFcyfPx8qlQqXXXZZp6/z7bffYt68eRgyZAieffZZZGdno6ioCN99912Pcufn5wNAu5G4m266Ceeddx4++OADtLS0QK1W44477sDrr7+Ou+66C+effz6Kiorw2GOPYe3atdixYwcSExNPPb+iogJXXXUVfve73+GJJ57AsmXL8Je//AX19fV46aWXevQ5+/zzz7F+/Xr88Y9/RGpqKuLj47F8+XKce+65uPnmm3HLLbd0+F5+6amnnsKjjz6K+fPn46mnnkJtbS3+/Oc/Y+LEidi+fTsGDhx46liHw4ELLrgAN998Mx544AF8//33ePLJJ2EymfDHP/4RALB48WIsXLgQd999NxYtWgSFQoH8/HwcOHCgR38eRBSGZCKKWDfccINsNBpP/f5f//qXDED+73//2+a4v//97zIA+bvvvjv1GABZr9fLFRUVpx5zOp3y4MGD5QEDBpx6bM2aNTIAec2aNacey8nJkXNycmSLxdKtvIWFhTIA+e9//7vscDhkq9Uq//jjj/K4ceNkAPKyZctkWZbld955RwYgX3/99W2en5eXJwOQFy5c2ObxrVu3ygDkRx999NRjU6dOlQHIS5cubXPsrbfeKisUCvnYsWOyLHf/c2YymeS6uro2x1ZXV8sA5D/96U/t3vPJ91JYWCjLsizX19fLer1enjt3bpvjjh8/Lmu1Wvnqq68+9dgNN9zQYba5c+fKubm5p35/1113ybGxse1em4joJF6SJqJTVq9eDaPR2G508OTl0VWrVrV5fObMmUhJSTn1e6VSiSuvvBL5+fntLvGedPjwYRQUFODmm2+GTqfrUc6HH34YarUaOp0OY8aMwfHjx/Haa69h7ty5bY679NJL2/x+zZo1bd7PSePHj8eQIUPavb/o6GhccMEFbR67+uqr4Xa78f333wPo/udsxowZiIuL8/7N/srmzZthsVjavYesrCzMmDGj3etJkoR58+a1eWzEiBGnLt8DJ95/Q0MD5s+fj6VLl6KmpqbH+YgoPLEwEtEptbW1SE1NbTcxJDk5GSqVCrW1tW0eT01NbXeOk4/9+tiTqqurAQCZmZk9znnPPfdg+/bt+PHHH1FQUIDy8nL85je/aXfcr2cWn8zU0Yzj9PT0dpl/WYZP+vX76+7nrLeznbv7HgwGQ7tirtVq20y2ue666/D222/j2LFjuPTSS5GcnIwzzjgDK1as6FVWIgofLIxEdEpCQgIqKyshy3Kbx6uqquB0Otvc3wecuMfv104+lpCQ0OFrnLw3r7MRSG9kZmZi7NixGD16NPr379/pzOdfP34yU3l5ebtjy8rK2r2/ysrKdsf9+v1193PW21na3X0P3rrxxhuxadMmNDY2YtmyZZBlGeeff36bkUgiilwsjER0ysyZM2E2m/H555+3efz9998/9fFfWrVqVZtS5XK58PHHHyMnJ6fTEcRBgwYhJycHb7/9druZuv42Y8YMAMC///3vNo9v374deXl57d5fc3MzvvjiizaPffTRR1AoFJgyZQqA7n/OOqLVagGcWPqnKxMnToRer2/3HkpKSrB69WqvXs8To9GIOXPm4Pe//z3sdjv279/fq/MRUXjgLGkiOuX666/Hyy+/jBtuuAFFRUUYPnw4NmzYgP/7v//D3LlzMWvWrDbHJyYmYsaMGXjsscdOzZI+ePBgu6V1fu3ll1/GvHnzMGHCBNx3333Izs7G8ePH8e233+LDDz/02/vLzc3Fb37zG7z44otQKBSYM2fOqVnSWVlZuO+++9ocn5CQgDvuuAPHjx/HoEGD8PXXX+ONN97AHXfcgezsbADd/5x1JDo6Gn369MHSpUsxc+ZMxMfHIzExEX379m13bGxsLB577DE8+uijuP766zF//nzU1tbi8ccfh06nw5/+9Kduf15uvfVW6PV6TJo0CWlpaaioqMBTTz0Fk8mEcePGdft8RBSGBE+6ISKBfj1LWpZluba2Vr799tvltLQ0WaVSyX369JEfeeQR2Wq1tjkOgHznnXfKr7zyipyTkyOr1Wp58ODB8ocfftjmuI5mScuyLG/evFmeM2eObDKZZK1WK+fk5Mj33Xefx7wnZ0k/88wzHo87ObN4+/bt7T7mcrnkv//97/KgQYNktVotJyYmytdee61cXFzc5ripU6fKp512mrx27Vp57NixslarldPS0uRHH31UdjgcvfqcdWTlypXy6aefLmu1WhmAfMMNN7R5LydnSZ/05ptvyiNGjJA1Go1sMpnkCy+8UN6/f3+bYzr685VlWf7Tn/4k//LL/3vvvSdPnz5dTklJkTUajZyeni5fccUV8p49ezrMSkSRR5LlX914Q0TkBUmScOedd55ajzDcTJs2DTU1Ndi3b5/oKEREwvEeRiIiIiLyiIWRiIiIiDziJWkiIiIi8ogjjERERETkEQsjEREREXnEwkhEREREHrEwEhEREZFHLIxERERE5BELIxERERF5xMJIRERERB6xMBIRERGRRyyMREREROQRCyMRERERecTCSEREREQesTASERERkUcsjERERETkEQsjEREREXnEwkhEREREHrEwEhEREZFHLIxERERE5BELIxERERF5xMJIRERERB6xMBIRERGRRyyMREREROQRCyMRERERecTCSEREREQesTASERERkUcsjERERETkEQsjEREREXnEwkhEREREHrEwEhEREZFHLIxERERE5BELIxERERF5xMJIRERERB6xMBIRERGRRyyMREREROQRCyMRERERecTCSEREREQesTASERERkUcsjERERETkEQsjEREREXnEwkhEREREHrEwEhEREZFHLIxERERE5BELIxERERF5xMJIRERERB6xMBIRERGRRyyMREREROQRCyMRERERecTCSEREREQesTASERERkUcsjERERETkEQsjEREREXnEwkhERGGnqKgIkiRh165doqMQhQUWRiIiCjhJkjz+WrBgQa/On5WVhfLycgwbNqzXWWtra5GZmQlJktDQ0NDr8xGFIpXoAEREFHnKy8tP/f/HH3+MP/7xjzh06NCpx/R6fa/Or1QqkZqa2qtznHTzzTdjxIgRKC0t9cn5iEIRRxiJiCjgUlNTT/0ymUyQJKnNYx999BFycnKg0WiQm5uLDz74oM3zJUnCq6++ijlz5kCv16Nfv3745JNPTn28o0vS+/fvx3nnnYeYmBhER0dj8uTJKCgo8Jjz1VdfRUNDAx588EGfvn+iUMPCSEREQWXJkiW455578MADD2Dfvn247bbbcOONN2LNmjVtjnvsscdw6aWXYvfu3bj22msxf/585OXldXjO0tJSTJkyBTqdDqtXr8aPP/6Im266CU6ns9McBw4cwBNPPIH3338fCgW/XVJk4yVpIiIKKosWLcKCBQuwcOFCAMD999+PLVu2YNGiRZg+ffqp4y6//HLccsstAIAnn3wSK1aswIsvvohXXnml3TlffvllmEwmLF68GGq1GgAwaNCgTjPYbDbMnz8fzzzzDLKzs3H06FFfvkWikMMfmYiIKKjk5eVh0qRJbR6bNGlSu9HDiRMntvt9ZyOMu3btwuTJk0+V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b1Y2m9WBAwckVUYYn3vuOe3evbu6zF133aV169bp3XffVX9/vzo6OvTDDz/otttu06uvvqo9e/aor69PgUDgL+/jd999p40bN+rAgQN66KGHru4DA7hhGGEEgAXixIkT6u7unjKvu7v7stHDu++++7LXfzbCePToUW3YsGFGsdjb26vHHntMO3fuJBaBeY5gBIAFxDCMKa9d171s3pWsN2mmF9H89NNPeuCBB/T000/rtddem9E2AMwdBCMALBBdXV369ttvp8w7dOiQurq6psw7fPjwZa9vvfXWabe5du1affPNNyqVSle8H729vbr//vv15JNP6s0337zi9QDMXfysDgAsEC+//LI2b96sdevW6cEHH9SXX36pffv26auvvpqy3N69e3X77bfrnnvuUU9Pj77//nt9+OGH025zx44deuedd/TEE0/olVdeUTwe1+HDh3XnnXeqs7PzsuUnY/Hhhx/Wiy++qMHBQUmVn+tpamq69h8awKxghBEAFohNmzZp165deuutt7R69Wq99957+uijj3TfffdNWe6NN97Qnj17tHbtWn3yySfq6enRqlWrpt1mQ0ODDh48qEwmo40bN2r9+vX64IMP/vScxr179+r8+fPq6elRS0tL9XHHHXdc648LYBZxlTQA3EQMw9D+/fu1adOmG70rAOYRRhgBAADgiWAEAACAJy56AYCbCGchAZgJRhgBAADgiWAEAACAJ4IRAAAAnghGAAAAeCIYAQAA4IlgBAAAgCeCEQAAAJ4IRgAAAHgiGAEAAOCJYAQAAIAnghEAAACeCEYAAAB4IhgBAADgiWAEAACAJ4IRAAAAnghGAAAAeCIYAQAA4IlgBAAAgCeCEQAAAJ4IRgAAAHgiGAEAAOCJYAQAAIAnghEAAACeCEYAAAB4IhgBAADgiWAEAACAJ4IRAAAAnghGAAAAeCIYAQAA4IlgBAAAgCeCEQAAAJ4IRgAAAHgiGAEAAOCJYAQAAIAnghEAAACeCEYAAAB4IhgBAADgiWAEAACAJ4IRAAAAnghGAAAAeCIYAQAA4IlgBAAAgKf/Bx6kc3jxGlm7AAAAAElFTkSuQmCC"/>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=a54c4da0-f2b4-48c9-a9fb-66a5c6e7e0bc">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h1 id="Table-A17-Geramany-part-based-on-AfD-Manifesto">Table A17 Geramany part based on AfD Manifesto<a class="anchor-link" href="#Table-A17-Geramany-part-based-on-AfD-Manifesto">¶</a></h1><h3 id="Loading-data">Loading data<a class="anchor-link" href="#Loading-data">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=3635a49f-9349-4133-a69e-1abaa86097ae">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [8]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># Read data into papers</span>
<span class="n">papers</span> <span class="o">=</span> <span class="n">pd</span><span class="o">.</span><span class="n">read_csv</span><span class="p">(</span><span class="s2">"Data/filtered_papers_G.csv"</span><span class="p">)</span>

<span class="c1"># Print head</span>
<span class="n">papers</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> <span class="n">papers</span><span class="p">[</span><span class="s1">'clean_text'</span><span class="p">]</span>

<span class="n">papers</span> <span class="o">=</span> <span class="n">papers</span><span class="p">[[</span><span class="s1">'text_new'</span><span class="p">]]</span>
</pre></div>
</div>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell jp-mod-noOutputs" id="cell-id=8fc93b62-c8cc-475a-be71-3df5da86443e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [9]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="c1"># regular expression to remove any punctuation, and then lowercase the text</span>
<span class="c1"># Load the regular expression library</span>
<span class="kn">import</span> <span class="nn">re</span>
<span class="c1"># Remove punctuation</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">))</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">re</span><span class="o">.</span><span class="n">sub</span><span class="p">(</span><span class="s1">'[,\.!?]'</span><span class="p">,</span> <span class="s1">''</span><span class="p">,</span> <span class="n">x</span><span class="p">))</span>
<span class="c1"># Convert the titles to lowercase</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span> <span class="o">=</span> \
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">map</span><span class="p">(</span><span class="k">lambda</span> <span class="n">x</span><span class="p">:</span> <span class="n">x</span><span class="o">.</span><span class="n">lower</span><span class="p">())</span>

<span class="c1"># Print out the first rows of papers</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'text_new'</span><span class="p">]</span><span class="o">.</span><span class="n">head</span><span class="p">()</span>

<span class="n">data</span> <span class="o">=</span> <span class="n">papers</span><span class="o">.</span><span class="n">text_new</span><span class="o">.</span><span class="n">values</span><span class="o">.</span><span class="n">tolist</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=4e134d0a-6740-4c83-a3c7-c176ff06de50">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Vectorize">Vectorize<a class="anchor-link" href="#Vectorize">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=d18b3bd4-3035-4061-9b94-6e319b37f21c">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [10]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">vectorizer</span> <span class="o">=</span> <span class="n">TfidfVectorizer</span><span class="p">(</span><span class="n">max_features</span><span class="o">=</span><span class="mi">1500</span><span class="p">,</span> <span class="n">min_df</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">stop_words</span><span class="o">=</span><span class="s1">'english'</span><span class="p">)</span>
<span class="n">X</span> <span class="o">=</span> <span class="n">vectorizer</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">data</span><span class="p">)</span>
<span class="n">words</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="n">vectorizer</span><span class="o">.</span><span class="n">get_feature_names_out</span><span class="p">())</span>

<span class="nb">print</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"X = "</span><span class="p">,</span> <span class="n">words</span><span class="p">)</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>  (0, 93)	0.07174913158727336
  (0, 141)	0.08517716772192677
  (0, 192)	0.08062221260594189
  (0, 28)	0.14992129008730995
  (0, 112)	0.07330763289579756
  (0, 85)	0.0786015587106631
  (0, 75)	0.11044404142329659
  (0, 130)	0.12344523816910023
  (0, 90)	0.0786015587106631
  (0, 37)	0.08280468507616007
  (0, 21)	0.07496064504365497
  (0, 59)	0.08280468507616007
  (0, 179)	0.06506553689091266
  (0, 169)	0.07496064504365497
  (0, 124)	0.08280468507616007
  (0, 106)	0.16560937015232013
  (0, 34)	0.1572031174213262
  (0, 150)	0.08517716772192677
  (0, 74)	0.0786015587106631
  (0, 166)	0.08280468507616007
  (0, 175)	0.06887633490716778
  (0, 44)	0.14992129008730995
  (0, 35)	0.08280468507616007
  (0, 116)	0.05522202071164829
  (0, 23)	0.08517716772192677
  :	:
  (88, 72)	0.08947727669259041
  (88, 60)	0.08624589213964215
  (88, 108)	0.2645719464032926
  (88, 170)	0.06802572502537824
  (88, 102)	0.07387435634840024
  (88, 47)	0.06595541571635179
  (88, 73)	0.048581700363100805
  (89, 83)	0.24648434231513133
  (89, 153)	0.22745594884055537
  (89, 41)	0.20762650348631298
  (89, 177)	0.24648434231513133
  (89, 80)	0.23961888951556226
  (89, 11)	0.23330328516019314
  (89, 123)	0.19546356281130609
  (89, 121)	0.19179299716085516
  (89, 125)	0.15980061113160587
  (89, 152)	0.4242729399030788
  (89, 45)	0.5451197078575462
  (89, 108)	0.21691993039053534
  (89, 154)	0.21691993039053534
  (90, 2)	0.3314975196010503
  (90, 123)	0.2918564098205376
  (90, 7)	0.16430966336553682
  (90, 62)	0.8637687613051982
  (90, 73)	0.17842391113022094
X =  ['able' 'according' 'account' 'act' 'addition' 'advocate' 'advocates'
 'afd' 'aim' 'allow' 'appropriate' 'areas' 'authorities' 'based' 'basic'
 'basis' 'better' 'care' 'case' 'central' 'chapter' 'children' 'citizens'
 'civil' 'committed' 'common' 'comprehensive' 'conditions' 'constitution'
 'constitutional' 'control' 'core' 'costs' 'countries' 'country' 'create'
 'cultural' 'culture' 'current' 'currently' 'decision' 'demand' 'demands'
 'democracy' 'democratic' 'development' 'does' 'economic' 'economy' 'end'
 'ensure' 'environment' 'equal' 'established' 'eu' 'euro' 'europe'
 'european' 'existing' 'families' 'family' 'favour' 'federal' 'financial'
 'foreign' 'form' 'framework' 'free' 'freedom' 'fundamental' 'future'
 'general' 'german' 'germany' 'good' 'government' 'high' 'immigration'
 'income' 'increased' 'increasing' 'individual' 'influence'
 'infrastructure' 'instead' 'institutions' 'integration' 'interests'
 'international' 'labour' 'language' 'large' 'law' 'laws' 'lead' 'led'
 'legal' 'legislation' 'level' 'life' 'limited' 'local' 'long' 'longer'
 'low' 'lower' 'maintain' 'make' 'market' 'mass' 'means' 'measures'
 'members' 'ment' 'migration' 'nation' 'national' 'nature' 'necessary'
 'need' 'needs' 'new' 'non' 'number' 'open' 'order' 'parents' 'parliament'
 'particular' 'parties' 'people' 'policies' 'policy' 'political'
 'population' 'possible' 'power' 'prevent' 'principle' 'principles'
 'private' 'protect' 'protection' 'public' 'quality' 'rates' 'reason'
 'reasons' 'reduce' 'reduced' 'reform' 'regard' 'regulations' 'rejects'
 'remain' 'required' 'requirements' 'respect' 'result' 'return' 'right'
 'rights' 'role' 'schools' 'sector' 'security' 'self' 'services' 'set'
 'shall' 'social' 'society' 'special' 'standards' 'state' 'states'
 'strengthen' 'sufficient' 'supply' 'support' 'systems' 'taken' 'tax'
 'term' 'time' 'tion' 'use' 'used' 'values' 'want' 'wants' 'way' 'welfare'
 'whilst' 'years']
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=9255898d-22c0-4123-8db2-8aea8d37909e">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="4-topics">4 topics<a class="anchor-link" href="#4-topics">¶</a></h3>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=684e2ade-a420-4762-a85b-2e0dce6439f3">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [11]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="n">nmf</span> <span class="o">=</span> <span class="n">NMF</span><span class="p">(</span><span class="n">n_components</span><span class="o">=</span><span class="mi">4</span><span class="p">,</span> <span class="n">solver</span><span class="o">=</span><span class="s1">'mu'</span><span class="p">,</span> <span class="n">init</span><span class="o">=</span><span class="s1">'nndsvda'</span><span class="p">)</span>
<span class="n">W</span> <span class="o">=</span> <span class="n">nmf</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">X</span><span class="p">)</span>
<span class="n">H</span> <span class="o">=</span> <span class="n">nmf</span><span class="o">.</span><span class="n">components_</span>

<span class="c1"># Use W to get the most likely topic for each sentence</span>
<span class="n">most_likely_topic</span> <span class="o">=</span> <span class="n">W</span><span class="o">.</span><span class="n">argmax</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">1</span><span class="p">)</span>

<span class="c1"># Add most_likely_topic as a new column to the papers dataframe</span>
<span class="n">papers</span><span class="p">[</span><span class="s1">'most_likely_topic'</span><span class="p">]</span> <span class="o">=</span> <span class="n">most_likely_topic</span>


<span class="k">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">topic</span> <span class="ow">in</span> <span class="nb">enumerate</span><span class="p">(</span><span class="n">H</span><span class="p">):</span>
     <span class="nb">print</span><span class="p">(</span><span class="s2">"Topic </span><span class="si">{}</span><span class="s2">: </span><span class="si">{}</span><span class="s2">"</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="s2">","</span><span class="o">.</span><span class="n">join</span><span class="p">([</span><span class="nb">str</span><span class="p">(</span><span class="n">x</span><span class="p">)</span> <span class="k">for</span> <span class="n">x</span> <span class="ow">in</span> <span class="n">words</span><span class="p">[</span><span class="n">topic</span><span class="o">.</span><span class="n">argsort</span><span class="p">()[</span><span class="o">-</span><span class="mi">10</span><span class="p">:]]])))</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>Topic 1: power,foreign,national,euro,policy,public,political,germany,afd,german
Topic 2: foreign,culture,economy,nature,schools,infrastructure,protection,security,policy,chapter
Topic 3: special,afd,social,support,schools,care,family,parents,families,children
Topic 4: right,legal,germany,country,migration,social,eu,countries,integration,immigration
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="jp-Cell jp-MarkdownCell jp-Notebook-cell" id="cell-id=7d6e0b43-0b11-4da7-9572-fdc00e518201">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea"><div class="jp-InputPrompt jp-InputArea-prompt">
</div><div class="jp-RenderedHTMLCommon jp-RenderedMarkdown jp-MarkdownOutput" data-mime-type="text/markdown">
<h3 id="Topics-proportions">Topics proportions<a class="anchor-link" href="#Topics-proportions">¶</a></h3><p>This method calculates the proportion of each topic based on the sum of the weights (or contributions) for each topic across all documents. It gives a sense of how much each topic contributes to the overall data set based on the NMF model's output.</p>
</div>
</div>
</div>
</div><div class="jp-Cell jp-CodeCell jp-Notebook-cell" id="cell-id=a57b509d-c02a-4292-85e0-adfcb9f02f06">
<div class="jp-Cell-inputWrapper" tabindex="0">
<div class="jp-Collapser jp-InputCollapser jp-Cell-inputCollapser">
</div>
<div class="jp-InputArea jp-Cell-inputArea">
<div class="jp-InputPrompt jp-InputArea-prompt">In [12]:</div>
<div class="jp-CodeMirrorEditor jp-Editor jp-InputArea-editor" data-type="inline">
<div class="cm-editor cm-s-jupyter">
<div class="highlight hl-ipython3"><pre><span></span><span class="kn">from</span> <span class="nn">sklearn.manifold</span> <span class="kn">import</span> <span class="n">TSNE</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
<span class="kn">import</span> <span class="nn">seaborn</span> <span class="k">as</span> <span class="nn">sns</span>

<span class="c1"># Apply t-SNE to reduce the dimensionality of the data</span>
<span class="n">tsne</span> <span class="o">=</span> <span class="n">TSNE</span><span class="p">(</span><span class="n">n_components</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span> <span class="n">verbose</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">perplexity</span><span class="o">=</span><span class="mi">40</span><span class="p">,</span> <span class="n">n_iter</span><span class="o">=</span><span class="mi">300</span><span class="p">)</span>
<span class="n">tsne_results</span> <span class="o">=</span> <span class="n">tsne</span><span class="o">.</span><span class="n">fit_transform</span><span class="p">(</span><span class="n">W</span><span class="p">)</span>

<span class="c1"># Calculate the proportion of each topic</span>
<span class="n">topic_proportions</span> <span class="o">=</span> <span class="n">W</span><span class="o">.</span><span class="n">sum</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="mi">0</span><span class="p">)</span> <span class="o">/</span> <span class="n">W</span><span class="o">.</span><span class="n">sum</span><span class="p">()</span>



<span class="c1"># Create a pie chart with the topic proportions</span>
<span class="n">fig</span><span class="p">,</span> <span class="n">ax</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">8</span><span class="p">,</span> <span class="mi">8</span><span class="p">))</span>
<span class="n">ax</span><span class="o">.</span><span class="n">pie</span><span class="p">(</span><span class="n">topic_proportions</span><span class="p">,</span> <span class="n">labels</span><span class="o">=</span><span class="p">[</span><span class="s1">'Topic </span><span class="si">{}</span><span class="s1">'</span><span class="o">.</span><span class="n">format</span><span class="p">(</span><span class="n">i</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span> <span class="k">for</span> <span class="n">i</span> <span class="ow">in</span> <span class="nb">range</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">topic_proportions</span><span class="p">))],</span>
       <span class="n">autopct</span><span class="o">=</span><span class="s1">'</span><span class="si">%1.1f%%</span><span class="s1">'</span><span class="p">,</span> <span class="n">shadow</span><span class="o">=</span><span class="kc">True</span><span class="p">,</span> <span class="n">startangle</span><span class="o">=</span><span class="mi">90</span><span class="p">)</span>
<span class="n">ax</span><span class="o">.</span><span class="n">set_title</span><span class="p">(</span><span class="s1">'Topic Proportions'</span><span class="p">)</span>

<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
</pre></div>
</div>
</div>
</div>
</div>
<div class="jp-Cell-outputWrapper">
<div class="jp-Collapser jp-OutputCollapser jp-Cell-outputCollapser">
</div>
<div class="jp-OutputArea jp-Cell-outputArea">
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedText jp-OutputArea-output" data-mime-type="text/plain" tabindex="0">
<pre>[t-SNE] Computing 90 nearest neighbors...
[t-SNE] Indexed 91 samples in 0.000s...
[t-SNE] Computed neighbors for 91 samples in 0.100s...
[t-SNE] Computed conditional probabilities for sample 91 / 91
[t-SNE] Mean sigma: 0.087386
[t-SNE] KL divergence after 250 iterations with early exaggeration: 47.005867
[t-SNE] KL divergence after 300 iterations: 0.064748
</pre>
</div>
</div>
<div class="jp-OutputArea-child">
<div class="jp-OutputPrompt jp-OutputArea-prompt"></div>
<div class="jp-RenderedImage jp-OutputArea-output" tabindex="0">
<img alt="No description has been provided for this image" class="" src="data:image/png;base64,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"/>
</div>
</div>
</div>
</div>
</div>
</main>
</body>
</html>
